Index: /issm/trunk/src/c/parallel/diagnostic_core_nonlinear.cpp
===================================================================
--- /issm/trunk/src/c/parallel/diagnostic_core_nonlinear.cpp	(revision 523)
+++ /issm/trunk/src/c/parallel/diagnostic_core_nonlinear.cpp	(revision 524)
@@ -41,5 +41,5 @@
 	int debug=0;
 	double eps_rel,eps_abs,yts;
-	int dofs[3]={1,1,0}; //recover vx,vy by default. vz may be.
+	int dofs[4]={1,1,0,0}; //recover vx,vy by default. vz and pressure may be.
 
 	/*Recover parameters: */
@@ -59,6 +59,7 @@
 	
 	/*Initialize ug and ug_old */
-	if (numberofdofspernode>=3)dofs[2]=1;//only keep vz if running with more than 3 dofs per node
-	ug=inputs->Get("velocity",&dofs[0],3);
+	if (numberofdofspernode==3)dofs[2]=1;//only keep vz if running with more than 3 dofs per node
+	if (numberofdofspernode==4)dofs[2]=1;dofs[3]=1;//only keep vz and presure if running with more than 3 dofs per node
+	ug=inputs->Get("velocity",&dofs[0],4);
 	VecDuplicate(ug,&old_ug);
 	VecCopy(ug,old_ug);
