Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 17419)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 17420)
@@ -2998,6 +2998,7 @@
 	int         j,i,meshtype,dim;
 	IssmDouble  Jdet,slope2,scalar,dt;
-	IssmDouble  slope[2];
+	IssmDouble  slope[3];
 	IssmDouble *xyz_list_base = NULL;
+	IssmDouble *xyz_list      = NULL;
 	Gauss*      gauss         = NULL;
 
@@ -3021,4 +3022,5 @@
 	/*Retrieve all inputs and parameters*/
 	element->GetVerticesCoordinatesBase(&xyz_list_base);
+	element->GetVerticesCoordinates(&xyz_list);
 	element->FindParam(&dt,TimesteppingTimeStepEnum);
 	if(dt==0)   dt=1.e+5;
@@ -3032,5 +3034,5 @@
 		gauss->GaussPoint(ig);
 
-		surface_input->GetInputDerivativeValue(&slope[0],xyz_list_base,gauss);
+		surface_input->GetInputDerivativeValue(&slope[0],xyz_list,gauss);
 		element->NodalFunctionsVelocity(vbasis,gauss);
 		element->JacobianDeterminantBase(&Jdet,xyz_list_base,gauss);
@@ -3040,5 +3042,5 @@
 		for(i=0;i<vnumnodes;i++){
 			for(j=0;j<vnumnodes;j++){
-				Ke->values[numdof*(i*dim+1)+j*dim+1] += scalar*vbasis[i]*vbasis[j];
+				Ke->values[numdof*((i+1)*dim-1)+(j+1)*dim-1] += scalar*vbasis[i]*vbasis[j];
 			}
 		}
@@ -3050,4 +3052,5 @@
 	delete gauss;
 	xDelete<IssmDouble>(xyz_list_base);
+	xDelete<IssmDouble>(xyz_list);
 	xDelete<IssmDouble>(vbasis);
 	return Ke;
Index: /issm/trunk-jpl/test/NightlyRun/test204.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test204.m	(revision 17419)
+++ /issm/trunk-jpl/test/NightlyRun/test204.m	(revision 17420)
@@ -4,10 +4,14 @@
 md=extrude(md,3,2.);
 md=setflowequation(md,'FS','all');
-md.cluster=generic('name',oshostname(),'np',3);
+md.cluster=generic('name',oshostname(),'np',1);
+md.stressbalance.shelf_dampening=1;
+md.timestepping.time_step=0;
+md1=solve(md,StressbalanceSolutionEnum());
+md.stressbalance.shelf_dampening=0;
 md=solve(md,StressbalanceSolutionEnum());
 
 %Fields and tolerances to track changes
-field_names     ={'Vx','Vy','Vz','Vel','Pressure'};
-field_tolerances={1e-08,1e-08,2e-07,1e-08,1e-08};
+field_names     ={'Vx','Vy','Vz','Vel','Pressure','Vx_damp','Vy_damp','Vz_damp','Vel_damp','Pressure_damp'};
+field_tolerances={1e-08,1e-08,2e-07,1e-08,1e-08,1e-08,1e-08,2e-07,1e-08,1e-08};
 field_values={...
 	(md.results.StressbalanceSolution.Vx),...
@@ -16,3 +20,8 @@
 	(md.results.StressbalanceSolution.Vel),...
 	(md.results.StressbalanceSolution.Pressure),...
+	(md1.results.StressbalanceSolution.Vx),...
+	(md1.results.StressbalanceSolution.Vy),...
+	(md1.results.StressbalanceSolution.Vz),...
+	(md1.results.StressbalanceSolution.Vel),...
+	(md1.results.StressbalanceSolution.Pressure),...
 	};
Index: /issm/trunk-jpl/test/NightlyRun/test204.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test204.py	(revision 17419)
+++ /issm/trunk-jpl/test/NightlyRun/test204.py	(revision 17420)
@@ -15,4 +15,8 @@
 md=setflowequation(md,'FS','all')
 md.cluster=generic('name',oshostname(),'np',3)
+md.stressbalance.shelf_dampening=1;
+md.timestepping.time_step=0;
+md1=solve(md,StressbalanceSolutionEnum())
+md.stressbalance.shelf_dampening=0;
 md=solve(md,StressbalanceSolutionEnum())
 
