diff --git a/maestro/cdo.c b/maestro/cdo.c
index 4290ce4505463bc362bd349d41affe3b76897c92..328f4bab799a381cad78468a7564c0fff8083697 100644
--- a/maestro/cdo.c
+++ b/maestro/cdo.c
@@ -1302,6 +1302,7 @@ mstro_cdo__satisfy(mstro_cdo src, mstro_cdo dst)
       return s;
     }
 
+
     /* FIXME: once mamba_copy takes into account layout properties we need to adjust dst->attributes to avoid doing transformations twice when we do the transform below */
     
   }
@@ -1317,13 +1318,13 @@ mstro_cdo__satisfy(mstro_cdo src, mstro_cdo dst)
     if(s==MSTRO_NOMATCH) {
       /* no applicable transformation */
       DEBUG("No transformation applied\n");
-     
-      s = mstro_cdo__mamba_copy(src, dst);
-      if(s!=MSTRO_OK) {
-        ERR("Failed to perform mamba copy\n");
-        return s;
+      if (src->mamba_array!=NULL) {     
+        s = mstro_cdo__mamba_copy(src, dst);
+        if(s!=MSTRO_OK) {
+          ERR("Failed to perform mamba copy\n");
+          return s;
+        }
       }
-
     } else {
       ERR("Failure trying to apply a transformation\n");
       return s;