Index: /issm/trunk-jpl/src/c/Makefile.am
===================================================================
--- /issm/trunk-jpl/src/c/Makefile.am	(revision 17240)
+++ /issm/trunk-jpl/src/c/Makefile.am	(revision 17241)
@@ -289,4 +289,6 @@
 					./modules/IoModelToConstraintsx/IoModelToConstraintsx.h\
 					./modules/IoModelToConstraintsx/IoModelToConstraintsx.cpp\
+					./modules/SetActiveNodesLSMx/SetActiveNodesLSMx.h\
+					./modules/SetActiveNodesLSMx/SetActiveNodesLSMx.cpp\
 					./modules/InputUpdateFromConstantx/InputUpdateFromConstantx.h\
 					./modules/InputUpdateFromConstantx/InputUpdateFromConstantx.cpp\
Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 17240)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 17241)
@@ -189,4 +189,5 @@
 	iomodel->FetchDataToInput(elements,LoadingforceYEnum);
 	iomodel->FetchDataToInput(elements,DamageDEnum);
+	iomodel->FetchDataToInput(elements,IceMaskNodeActivationEnum);
 
 	if(iomodel->meshtype==Mesh3DEnum){
@@ -1023,4 +1024,6 @@
 void StressbalanceAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
 	/*Default, do nothing*/
+	_printf0_("Updating active and non-active nodes in Femmodel \n");
+	SetActiveNodesLSMx(femmodel->elements);
 	return;
 }/*}}}*/
@@ -1112,10 +1115,10 @@
 ElementMatrix* StressbalanceAnalysis::CreateKMatrixSSA(Element* element){/*{{{*/
 
+	/* Check if ice in element */
+	if(!element->IsIceInElement()) return NULL;
+
 	/*Intermediaries*/
 	int      meshtype;
 	Element* basalelement;
-
-	/* Check if ice in element */
-	if(!element->IsIceInElement()) return NULL;
 
 	/*Get basal element*/
Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 17240)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 17241)
@@ -407,5 +407,7 @@
 	if(VerboseModule()) _printf0_("   Updating constraints for time: " << time << "\n");
 
-	// analysis->UpdateConstraints();
+	Analysis* analysis= EnumToAnalysis(analysis_type);
+	analysis->UpdateConstraints(this);
+	delete analysis;
 	
 	/*Second, constraints might be time dependent: */
Index: /issm/trunk-jpl/src/c/modules/modules.h
===================================================================
--- /issm/trunk-jpl/src/c/modules/modules.h	(revision 17240)
+++ /issm/trunk-jpl/src/c/modules/modules.h	(revision 17241)
@@ -32,4 +32,5 @@
 #include "./GiaDeflectionCorex/GiaDeflectionCorex.h"
 #include "./SetControlInputsFromVectorx/SetControlInputsFromVectorx.h"
+#include "./SetActiveNodesLSMx/SetActiveNodesLSMx.h"
 #include "./Gradjx/Gradjx.h"
 #include "./GroundinglineMigrationx/GroundinglineMigrationx.h"
