Index: /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp	(revision 22279)
+++ /issm/trunk-jpl/src/c/classes/Inputs/TransientInput.cpp	(revision 22280)
@@ -133,7 +133,9 @@
 	outinput->enum_type=this->enum_type;
 	outinput->numtimesteps=this->numtimesteps;
-	outinput->timesteps=xNew<IssmDouble>(this->numtimesteps);
-	xMemCpy(outinput->timesteps,this->timesteps,this->numtimesteps);
-	outinput->inputs=(Inputs*)this->inputs->SpawnSegInputs(index1,index2);
+	if(this->numtimesteps>0){
+		outinput->timesteps=xNew<IssmDouble>(this->numtimesteps);
+		xMemCpy(outinput->timesteps,this->timesteps,this->numtimesteps);
+		outinput->inputs=(Inputs*)this->inputs->SpawnSegInputs(index1,index2);
+	}
 	outinput->parameters=this->parameters;
 
@@ -152,7 +154,9 @@
 	outinput->enum_type=this->enum_type;
 	outinput->numtimesteps=this->numtimesteps;
-	outinput->timesteps=xNew<IssmDouble>(this->numtimesteps);
-	xMemCpy(outinput->timesteps,this->timesteps,this->numtimesteps);
-	outinput->inputs=(Inputs*)this->inputs->SpawnTriaInputs(index1,index2,index3);
+	if(this->numtimesteps>0){
+		outinput->timesteps=xNew<IssmDouble>(this->numtimesteps);
+		xMemCpy<IssmDouble>(outinput->timesteps,this->timesteps,this->numtimesteps);
+		outinput->inputs=(Inputs*)this->inputs->SpawnTriaInputs(index1,index2,index3);
+	}
 	outinput->parameters=this->parameters;
 
@@ -316,5 +320,5 @@
 
 	values=xNew<IssmDouble>(3);
-
+	
 	for(int i=0;i<this->numtimesteps;i++){
 		time						 = this->timesteps[i];
