Index: /issm/trunk-jpl/src/c/classes/FemModel.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 25540)
+++ /issm/trunk-jpl/src/c/classes/FemModel.cpp	(revision 25541)
@@ -2941,18 +2941,15 @@
 void FemModel::TimeAdaptx(IssmDouble* pdt){/*{{{*/
 
-	/*output: */
-	IssmDouble   dt;
-
 	/*intermediary: */
-	IssmDouble   min_dt      = 0;
-	IssmDouble   node_min_dt = 0;
+	IssmDouble   min_dt      = 1.e+50;
+	IssmDouble   node_min_dt = 0.;
 
 	/*Go through elements, and figure out the minimum of the time steps for each element (using CFL criterion): */
-	Element* element=(Element*)elements->GetObjectByOffset(0); min_dt=element->TimeAdapt();
-
-	for(Object* & object : this->elements->objects){
-		element = xDynamicCast<Element*>(object);
-		dt=element->TimeAdapt();
-		if(dt<min_dt)min_dt=dt;
+	for(Object* & object : this->elements->objects){
+		Element* element = xDynamicCast<Element*>(object);
+		if(element->IsIceInElement()){ /*verify if there is ice in the element*/
+			IssmDouble dt=element->TimeAdapt();
+			if(dt<min_dt)min_dt=dt;
+		}
 	}
 
@@ -2971,6 +2968,5 @@
 	/*Assign output pointers:*/
 	*pdt=min_dt;
-}
-/*}}}*/
+}/*}}}*/
 void FemModel::TotalCalvingFluxLevelsetx(IssmDouble* pM, bool scaled){/*{{{*/
 
