Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmAbsMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmAbsMat.h	(revision 14670)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmAbsMat.h	(revision 14671)
@@ -49,5 +49,5 @@
 		virtual void GetLocalSize(int* pM,int* pN)=0;
 		virtual void MatMult(IssmAbsVec<doubletype>* X,IssmAbsVec<doubletype>* AX)=0;
-		virtual IssmAbsMat* Duplicate(void)=0;
+		virtual IssmAbsMat<doubletype>* Duplicate(void)=0;
 		virtual doubletype* ToSerial(void)=0;
 		virtual void SetValues(int m,int* idxm,int n,int* idxn,doubletype* values,InsMode mode)=0;
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmAbsVec.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmAbsVec.h	(revision 14670)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmAbsVec.h	(revision 14671)
@@ -51,5 +51,5 @@
 		virtual void GetSize(int* pM)=0;
 		virtual void GetLocalSize(int* pM)=0;
-		virtual IssmAbsVec* Duplicate(void)=0;
+		virtual IssmAbsVec<doubletype>* Duplicate(void)=0;
 		virtual void Set(doubletype value)=0;
 		virtual void AXPY(IssmAbsVec* X, doubletype a)=0;
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h	(revision 14670)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmDenseMat.h	(revision 14671)
@@ -204,9 +204,9 @@
 		/*}}}*/
 		/*FUNCTION Duplicate{{{*/
-		IssmDenseMat* Duplicate(void){
+		IssmDenseMat<doubletype>* Duplicate(void){
 
 			doubletype dummy=0;
 
-			return new IssmDenseMat(this->matrix,this->M,this->N,dummy);
+			return new IssmDenseMat<doubletype>(this->matrix,this->M,this->N,dummy);
 
 		}
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmMat.h	(revision 14670)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmMat.h	(revision 14671)
@@ -158,7 +158,7 @@
 			matrix->MatMult(X->vector,AX->vector);
 		} /*}}}*/
-		IssmMat* Duplicate(void){ /*{{{*/
+		IssmMat<doubletype>* Duplicate(void){ /*{{{*/
 
-			IssmMat* issmmatrix=NULL;
+			IssmMat<doubletype>* issmmatrix=NULL;
 
 			issmmatrix=new IssmMat<doubletype>();
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h	(revision 14670)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiDenseMat.h	(revision 14671)
@@ -110,5 +110,5 @@
 		/*}}}*/
 		/*FUNCTION Duplicate{{{*/
-		IssmMpiDenseMat* Duplicate(void){
+		IssmMpiDenseMat<doubletype>* Duplicate(void){
 			_error_("not supported yet!");
 		}
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h	(revision 14670)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmMpiVec.h	(revision 14671)
@@ -163,7 +163,7 @@
 		/*}}}*/
 		/*FUNCTION Duplicate{{{*/
-		IssmMpiVec* Duplicate(void){
-
-			return new IssmMpiVec(this->vector,this->M);
+		IssmMpiVec<doubletype>* Duplicate(void){
+
+			return new IssmMpiVec<doubletype>(this->vector,this->M);
 
 		}
Index: /issm/trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h
===================================================================
--- /issm/trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h	(revision 14670)
+++ /issm/trunk-jpl/src/c/toolkits/issm/IssmSeqVec.h	(revision 14671)
@@ -164,7 +164,7 @@
 		/*}}}*/
 		/*FUNCTION Duplicate{{{*/
-		IssmSeqVec* Duplicate(void){
-
-			return new IssmSeqVec(this->vector,this->M);
+		IssmSeqVec<doubletype>* Duplicate(void){
+
+			return new IssmSeqVec<doubletype>(this->vector,this->M);
 
 		}
