diff --git a/lib/modules/_Image_XCF.pmod b/lib/modules/_Image_XCF.pmod
index 95452c1b070115724868f4c570a60d3ba8cce99c..a488d92da98fc2698da709e7c9582637bf3374bb 100644
--- a/lib/modules/_Image_XCF.pmod
+++ b/lib/modules/_Image_XCF.pmod
@@ -407,8 +407,8 @@ string translate_mode( int mode )
 array decode_layers( string|object|mapping what, mapping|void opts, 
                      int|void concat )
 {
-  int shrink = (opts->shrink_fact||1);
   if(!opts) opts = ([]);
+  int shrink = (opts->shrink_fact||1);
 
   if(!objectp( what ) )
     what = __decode( what );