Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 23182)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 23183)
@@ -126,50 +126,59 @@
 			iomodel->FetchData(&surface,NULL,NULL,"md.geometry.surface");
 			iomodel->FetchData(&z,NULL,NULL,"md.mesh.z");
-			switch(pfiniteelement){
-				case P1Enum:
-					for(i=0;i<iomodel->numberofvertices;i++){
-						if(iomodel->my_vertices[i]){
-							if(IoCodeToEnumVertexEquation(reCast<int>(vertices_type[i]))==NoneApproximationEnum){
-								constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,0,g*rho_ice*(surface[i]-z[i])/FSreconditioning,StressbalanceAnalysisEnum));
-								count++;
+			bool addpressurespc = false;
+			for(i=0;i<iomodel->numberofvertices;i++){
+				if(IoCodeToEnumVertexEquation(reCast<int>(vertices_type[i]))==NoneApproximationEnum && iomodel->my_vertices[i]){
+					addpressurespc = true;
+					break;
+				}
+			}
+			if(addpressurespc){
+				switch(pfiniteelement){
+					case P1Enum:
+						for(i=0;i<iomodel->numberofvertices;i++){
+							if(iomodel->my_vertices[i]){
+								if(IoCodeToEnumVertexEquation(reCast<int>(vertices_type[i]))==NoneApproximationEnum){
+									constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,0,g*rho_ice*(surface[i]-z[i])/FSreconditioning,StressbalanceAnalysisEnum));
+									count++;
+								}
 							}
 						}
-					}
-					break;
-				case P1bubbleEnum:
-					for(i=0;i<iomodel->numberofvertices;i++){
-						if(iomodel->my_vertices[i]){
-							if(IoCodeToEnumVertexEquation(reCast<int>(vertices_type[i]))==NoneApproximationEnum){
-								constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,0,g*rho_ice*(surface[i]-z[i])/FSreconditioning,StressbalanceAnalysisEnum));
-								count++;
+						break;
+					case P1bubbleEnum:
+						for(i=0;i<iomodel->numberofvertices;i++){
+							if(iomodel->my_vertices[i]){
+								if(IoCodeToEnumVertexEquation(reCast<int>(vertices_type[i]))==NoneApproximationEnum){
+									constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,0,g*rho_ice*(surface[i]-z[i])/FSreconditioning,StressbalanceAnalysisEnum));
+									count++;
+								}
 							}
 						}
-					}
-					break;
-				case P2Enum:
-					for(i=0;i<iomodel->numberofvertices;i++){
-						if(iomodel->my_vertices[i]){
-							if(IoCodeToEnumVertexEquation(reCast<int>(vertices_type[i]))==NoneApproximationEnum){
-								constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+i+1,0,g*rho_ice*(surface[i]-z[i])/FSreconditioning,StressbalanceAnalysisEnum));
-								count++;
+						break;
+					case P2Enum:
+						for(i=0;i<iomodel->numberofvertices;i++){
+							if(iomodel->my_vertices[i]){
+								if(IoCodeToEnumVertexEquation(reCast<int>(vertices_type[i]))==NoneApproximationEnum){
+									constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+i+1,0,g*rho_ice*(surface[i]-z[i])/FSreconditioning,StressbalanceAnalysisEnum));
+									count++;
+								}
 							}
 						}
-					}
-					break;
-				case P2bubbleEnum:
-					for(i=0;i<iomodel->numberofvertices;i++){
-						if(iomodel->my_vertices[i]){
-							if(IoCodeToEnumVertexEquation(reCast<int>(vertices_type[i]))==NoneApproximationEnum){
-								constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+iomodel->numberofelements+iomodel->numberoffaces+i+1,0,g*rho_ice*(surface[i]-z[i])/FSreconditioning,StressbalanceAnalysisEnum));
-								count++;
+						break;
+					case P2bubbleEnum:
+						for(i=0;i<iomodel->numberofvertices;i++){
+							if(iomodel->my_vertices[i]){
+								if(IoCodeToEnumVertexEquation(reCast<int>(vertices_type[i]))==NoneApproximationEnum){
+									constraints->AddObject(new SpcStatic(count+1,iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+iomodel->numberofelements+iomodel->numberoffaces+i+1,0,g*rho_ice*(surface[i]-z[i])/FSreconditioning,StressbalanceAnalysisEnum));
+									count++;
+								}
 							}
 						}
-					}
-					break;
-				case P2xP4Enum:
-					//Nothing yet
-					break;
-				default:
-					_error_("not implemented yet");
+						break;
+					case P2xP4Enum:
+						//Nothing yet
+						break;
+					default:
+						_error_("not implemented yet");
+				}
 			}
 			iomodel->DeleteData(vertices_type,"md.flowequation.vertex_equation");
