Index: /issm/trunk/src/c/ModelProcessorx/Qmu/CreateParametersQmu.cpp
===================================================================
--- /issm/trunk/src/c/ModelProcessorx/Qmu/CreateParametersQmu.cpp	(revision 3460)
+++ /issm/trunk/src/c/ModelProcessorx/Qmu/CreateParametersQmu.cpp	(revision 3461)
@@ -45,7 +45,4 @@
 	/*parameters for misfit: */
 	double* u_g_obs=NULL;
-	double* vx_obs=NULL;
-	double* vy_obs=NULL;
-	double* fit=NULL;
 
 	#ifdef _SERIAL_
@@ -153,5 +150,4 @@
 		#endif
 
-
 		/*Ok, we have all the response descriptors. Build a parameter with it: */
 		count++;
@@ -212,5 +208,4 @@
 			}
 		}
-
 
 		/*Deal with data needed for some responses: */
@@ -268,6 +263,6 @@
 
 				/*We need the observed velocity: */
-				IoModelFetchData(&vx_obs,NULL,NULL,iomodel_handle,"vx_obs");
-				IoModelFetchData(&vy_obs,NULL,NULL,iomodel_handle,"vy_obs");
+				IoModelFetchData(&iomodel->vx_obs,NULL,NULL,iomodel_handle,"vx_obs");
+				IoModelFetchData(&iomodel->vy_obs,NULL,NULL,iomodel_handle,"vy_obs");
 
 				/*Now, recover fit: */
@@ -275,6 +270,6 @@
 
 				u_g_obs=(double*)xcalloc(iomodel->numberofvertices*2,sizeof(double));
-				if(vx_obs)for(i=0;i<iomodel->numberofvertices;i++)u_g_obs[2*i+0]=vx_obs[i]/iomodel->yts;
-				if(vy_obs)for(i=0;i<iomodel->numberofvertices;i++)u_g_obs[2*i+1]=vy_obs[i]/iomodel->yts;
+				if(iomodel->vx_obs)for(i=0;i<iomodel->numberofvertices;i++)u_g_obs[2*i+0]=iomodel->vx_obs[i]/iomodel->yts;
+				if(iomodel->vy_obs)for(i=0;i<iomodel->numberofvertices;i++)u_g_obs[2*i+1]=iomodel->vy_obs[i]/iomodel->yts;
 
 				count++;
@@ -288,8 +283,9 @@
 				parameters->AddObject(param);
 
+				xfree((void**)&iomodel->vx_obs);
+				xfree((void**)&iomodel->vy_obs);
+				xfree((void**)&iomodel->fit);
 				xfree((void**)&u_g_obs);
-				xfree((void**)&vx_obs);
-				xfree((void**)&vy_obs);
-				xfree((void**)&fit);
+
 			}
 		}
