Index: /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 25437)
+++ /issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp	(revision 25438)
@@ -4231,4 +4231,5 @@
 		IssmDouble  dt,mb;
 		element->FindParam(&dt,TimesteppingTimeStepEnum);
+		gauss->Reset();
 		while(gauss->next()){
 			element->JacobianDeterminantBase(&Jdet,xyz_list_base,gauss);
Index: /issm/trunk-jpl/src/c/classes/gauss/Gauss.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/Gauss.h	(revision 25437)
+++ /issm/trunk-jpl/src/c/classes/gauss/Gauss.h	(revision 25438)
@@ -15,4 +15,5 @@
 		virtual void Echo(void)=0;
 		virtual int  end(void)=0;
+		virtual void Reset(void)=0;
 		virtual bool next(void)=0;
 		virtual int  Enum(void)=0;
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussPenta.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussPenta.cpp	(revision 25437)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussPenta.cpp	(revision 25438)
@@ -812,4 +812,12 @@
 }
 /*}}}*/
+void GaussPenta::Reset(void){/*{{{*/
+
+	/*Check that this has been initialized*/
+	_assert_(numgauss>0);
+
+	/*Reset counter*/
+	this->ig=-1;
+} /*}}}*/
 void GaussPenta::SynchronizeGaussBase(Gauss* gauss){/*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussPenta.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussPenta.h	(revision 25437)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussPenta.h	(revision 25438)
@@ -51,4 +51,5 @@
 		void GaussPoint(int ig);
 		void GaussVertex(int iv);
+		void Reset(void);
 		void SynchronizeGaussBase(Gauss* gauss);
 };
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussSeg.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussSeg.cpp	(revision 25437)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussSeg.cpp	(revision 25438)
@@ -181,4 +181,12 @@
 }
 /*}}}*/
+void GaussSeg::Reset(void){/*{{{*/
+
+	/*Check that this has been initialized*/
+	_assert_(numgauss>0);
+
+	/*Reset counter*/
+	this->ig=-1;
+} /*}}}*/
 void GaussSeg::SynchronizeGaussBase(Gauss* gauss){/*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussSeg.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussSeg.h	(revision 25437)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussSeg.h	(revision 25438)
@@ -38,4 +38,5 @@
 		void GaussNode(int finitelement,int iv);
 		void GaussVertex(int iv);
+		void Reset(void);
 		void SynchronizeGaussBase(Gauss* gauss);
 };
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussTetra.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussTetra.cpp	(revision 25437)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussTetra.cpp	(revision 25438)
@@ -269,4 +269,12 @@
 }
 /*}}}*/
+void GaussTetra::Reset(void){/*{{{*/
+
+	/*Check that this has been initialized*/
+	_assert_(numgauss>0);
+
+	/*Reset counter*/
+	this->ig=-1;
+} /*}}}*/
 void GaussTetra::SynchronizeGaussBase(Gauss* gauss){/*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussTetra.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussTetra.h	(revision 25437)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussTetra.h	(revision 25438)
@@ -44,4 +44,5 @@
 		void GaussNode(int finitelement,int iv);
 		void GaussVertex(int iv);
+		void Reset(void);
 		void SynchronizeGaussBase(Gauss* gauss);
 };
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussTria.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussTria.cpp	(revision 25437)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussTria.cpp	(revision 25438)
@@ -585,4 +585,12 @@
 }
 /*}}}*/
+void GaussTria::Reset(void){/*{{{*/
+
+	/*Check that this has been initialized*/
+	_assert_(numgauss>0);
+
+	/*Reset counter*/
+	this->ig=-1;
+} /*}}}*/
 void GaussTria::SynchronizeGaussBase(Gauss* gauss){/*{{{*/
 
Index: /issm/trunk-jpl/src/c/classes/gauss/GaussTria.h
===================================================================
--- /issm/trunk-jpl/src/c/classes/gauss/GaussTria.h	(revision 25437)
+++ /issm/trunk-jpl/src/c/classes/gauss/GaussTria.h	(revision 25438)
@@ -47,4 +47,5 @@
 		void GaussNode(int finitelement,int iv);
 		void GaussVertex(int iv);
+		void Reset(void);
 		void SynchronizeGaussBase(Gauss* gauss);
 };
