diff --git a/lib/modules/_Image_XCF.pmod b/lib/modules/_Image_XCF.pmod
index 01329ab0d839df5522cba299fae5d8b8f564189f..bffa4ee20751b74973e1d0a578b3c163af7b9dfb 100644
--- a/lib/modules/_Image_XCF.pmod
+++ b/lib/modules/_Image_XCF.pmod
@@ -590,7 +590,7 @@ mapping _decode( string|mapping what, mapping|void opts )
     }
   }
 
-  Array.map( data->layers, destruct );
+  Array.map( data->layers, lambda(object o) { destruct(o); } );
   destruct( data );
   return 
   ([