Index: tol/btol/bgrammar/spfuninst.cpp
===================================================================
--- tol/btol/bgrammar/spfuninst.cpp	(revision 72f815109e336e38989bec8719256e7dbeff1cec)
+++ tol/btol/bgrammar/spfuninst.cpp	(revision 09c91c140cf219502d27b8cf8753363b2bf2d078)
@@ -1466,10 +1466,28 @@
           if(uM && (uM->Grammar()==GraMatrix()))
           { 
-            p	= uM->Contens().Data();
-            SAFE_DESTROY(uM,result);
+            BMat& M = uM->Contens();
+            int r = M.Rows();
+            int c = M.Columns();
+            p	= M.Data();
             pos = 0;
+            if(r==1)
+            {
+              DeepCopy(uS->Contens(),res->Contens(),p,pos);
+            }
+            else
+            {
+              int i;
+              res->Contens().PrepareStore(r);
+              for(i=0; i<r; i++)
+              {
+                BContensSet* res_i = new BContensSet;
+                DeepCopy(uS->Contens(),res_i->Contens(),p,pos); 
+                res->Contens().AddElement(res_i);
+              }
+            }
           }
-        }
-        DeepCopy(uS->Contens(),res->Contens(),p,pos);
+          SAFE_DESTROY(uM,result);
+        }
+        if(pos==-1) { DeepCopy(uS->Contens(),res->Contens(),p,pos); }
         SAFE_DESTROY(toCopy,result);
       }
