Imported code from CVS branch 1.15