Index: /issm/trunk/src/c/objects/Elements/Penta.cpp
===================================================================
--- /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4668)
+++ /issm/trunk/src/c/objects/Elements/Penta.cpp	(revision 4669)
@@ -1903,4 +1903,14 @@
 		 this->inputs->AddInput(new BoolInput(CollapseEnum,false));
 	}
+
+	//if diagnostic Full-Stokes: check that the element is Stokes
+	if(analysis_type==DiagnosticStokesAnalysisEnum){
+		ISSMASSERT(iomodel->elements_type);
+		if(iomodel->elements_type[2*index+1]==StokesFormulationEnum)
+		 this->inputs->AddInput(new BoolInput(IsStokesEnum,true));
+		else
+		 this->inputs->AddInput(new BoolInput(IsStokesEnum,false));
+	}
+
 }
 /*}}}*/
@@ -3257,4 +3267,5 @@
 	bool onbed;
 	bool shelf;
+	bool isstokes;
 
 	/*retrive parameters: */
@@ -3265,7 +3276,8 @@
 	inputs->GetParameterValue(&onbed,ElementOnBedEnum);
 	inputs->GetParameterValue(&shelf,ElementOnIceShelfEnum);
-
-	/*If on water, skip stiffness: */
-	if(onwater)return;
+	inputs->GetParameterValue(&isstokes,IsStokesEnum);
+
+	/*If on water or not Stokes, skip stiffness: */
+	if(onwater || !isstokes) return;
 
 	/*recovre material parameters: */
@@ -4205,4 +4217,5 @@
 	bool onbed;
 	bool shelf;
+	bool isstokes;
 
 	/*retrieve inputs :*/
@@ -4210,7 +4223,11 @@
 	inputs->GetParameterValue(&onbed,ElementOnBedEnum);
 	inputs->GetParameterValue(&shelf,ElementOnIceShelfEnum);
+	inputs->GetParameterValue(&isstokes,IsStokesEnum);
 
 	/*retrieve some parameters: */
 	this->parameters->FindParam(&stokesreconditioning,StokesReconditioningEnum);
+
+	/*If on water or not Stokes, skip load: */
+	if(onwater || !isstokes) return;
 
 	/*If on water, skip load: */
