diff --git a/NonLinearSolver/internalPoints/ipstate.h b/NonLinearSolver/internalPoints/ipstate.h
index b0a56f25eb0c6df862d9967156e958461d1a2161..6e771cf120c9f4a747ff6e0b8fe7404d428d1861 100644
--- a/NonLinearSolver/internalPoints/ipstate.h
+++ b/NonLinearSolver/internalPoints/ipstate.h
@@ -33,12 +33,12 @@ class IPStateBase{
 			return *this;
 		}
 		virtual ~IPStateBase();
-		
+
 		enum whichState{initial, previous, current, temp, activeDissipation};
 		virtual IPVariable* getState(const whichState wst=IPStateBase::current) const=0;
 		virtual void restart()=0;
-		virtual void getAllIPVariable(std::vector<IPVariable*>& allIP) const = 0;
-		
+		virtual void getAllIPVariable(std::vector<IPVariable*>& allIP) = 0;
+
 		virtual void setLocation(const IPVariable::LOCATION loc){
 			std::vector<IPVariable*> allIP;
 			getAllIPVariable(allIP);
@@ -46,7 +46,7 @@ class IPStateBase{
 				allIP[i]->setLocation(loc);
 			}
 		}
-		
+
 		virtual void setSolver(nonLinearMechSolver* s){
 			_solver = s;
 			std::vector<IPVariable*> allIP;
@@ -70,7 +70,10 @@ class IP1State : public IPStateBase{
   virtual IP1State & operator = (const IPStateBase &source);
   IPVariable* getState(const whichState wst=IPStateBase::current) const;
   virtual void restart();
-  virtual void getAllIPVariable(std::vector<IPVariable*>& allIP) const {allIP.push_back(_current); };
+  virtual void getAllIPVariable(std::vector<IPVariable*>& allIP) {
+    allIP.clear();
+    allIP.push_back(_current);
+  };
 };
 
 class IP3State : public IPStateBase{
@@ -90,7 +93,8 @@ class IP3State : public IPStateBase{
   virtual IP3State & operator = (const IPStateBase &source);
   IPVariable* getState(const whichState wst=IPStateBase::current) const;
   virtual void restart();
-  virtual void getAllIPVariable(std::vector<IPVariable*>& allIP) const {
+  virtual void getAllIPVariable(std::vector<IPVariable*>& allIP) {
+    allIP.clear();
     allIP.push_back(_initial);
     allIP.push_back(_step1);
     allIP.push_back(_step2);
@@ -115,7 +119,7 @@ class AllIPState{
   ipstateElementContainer* getIPstate(const long int num);
   ipstateElementContainer* operator[](const long int num);
 	const std::vector<partDomain*>& getDomainVector() const {return _domainVector;};
-	
+
   void nextStep();
   void copy(const IPStateBase::whichState ws1, const IPStateBase::whichState ws2){
     for(ipstateContainer::iterator it=_mapall.begin(); it!=_mapall.end();++it){
@@ -131,7 +135,7 @@ class AllIPState{
 
   ipstateContainer* getAIPSContainer() {return &_mapall;};
 	const ipstateContainer* getAIPSContainer() const {return &_mapall;};
-	
+
 	ipstateContainer::const_iterator begin() const {return _mapall.begin();};
 	ipstateContainer::const_iterator end() const {return _mapall.end();};
 };