diff --git a/da/baseclasses/optimizer.py b/da/baseclasses/optimizer.py
index f1e15810a28b01419dccf961c94f6b9df77ee284..09cf304849e06651b82a264b028b642a25db72de 100755
--- a/da/baseclasses/optimizer.py
+++ b/da/baseclasses/optimizer.py
@@ -90,6 +90,7 @@ class Optimizer(object):
             self.X_prime[n*self.nparams:(n+1)*self.nparams,:]   = np.transpose(np.array([m.ParameterValues for m in members]))
 
             if members[0].ModelSample != None:
+
                 allobs.extend(                                    members[0].ModelSample.Data.getvalues('obs') )
                 allsamples.extend(                                members[0].ModelSample.Data.getvalues('simulated') )
                 allmdm.extend(                                    members[0].ModelSample.Data.getvalues('mdm')  )
@@ -99,12 +100,13 @@ class Optimizer(object):
                     memsamples.append(                            mem.ModelSample.Data.getvalues('simulated') ) 
 
                 print np.array(memsamples).shape
-                allmemsamples.extend(np.array(memsamples) )
+                if n == 0:
+                    allmemsamples = np.array(memsamples)
+                else:
+                    allmemsamples = np.concatentate(allmemsamples,np.array(memsamples),axis=0)
+
 
-        print np.array(allmemsamples).shape
-         
-        print np.transpose(np.array(allmemsamples)).shape
-        self.HX_prime[:,:]                                      = np.transpose(np.array(allmemsamples))
+        self.HX_prime[:,:]                                      = np.transpose(allmemsamples)
 
         self.obs[:]                                             = np.array(allobs)
         self.Hx[:]                                              = np.array(allobs)