Index: /branches/eam_branches/ipp-20101205/ppSub/src/ppSubMatchPSFs.c
===================================================================
--- /branches/eam_branches/ipp-20101205/ppSub/src/ppSubMatchPSFs.c	(revision 30301)
+++ /branches/eam_branches/ipp-20101205/ppSub/src/ppSubMatchPSFs.c	(revision 30302)
@@ -381,8 +381,12 @@
 
     if (inRO->covariance) {
-        psImageCovarianceTruncate(inRO->covariance, COVAR_FRAC);
+        psKernel *truncated = psImageCovarianceTruncate(inRO->covariance, COVAR_FRAC);
+        psFree(inRO->covariance);
+	inRO->covariance = truncated;
     }
     if (refRO->covariance) {
-        psImageCovarianceTruncate(refRO->covariance, COVAR_FRAC);
+        psKernel *truncated = psImageCovarianceTruncate(refRO->covariance, COVAR_FRAC);
+        psFree(refRO->covariance);
+	refRO->covariance = truncated;
     }
 
@@ -495,8 +499,12 @@
 
     if (inConv->covariance) {
-        psImageCovarianceTruncate(inConv->covariance, COVAR_FRAC);
+        psKernel *truncated = psImageCovarianceTruncate(inConv->covariance, COVAR_FRAC);
+        psFree(inConv->covariance);
+	inConv->covariance = truncated;
     }
     if (refConv->covariance) {
-        psImageCovarianceTruncate(refConv->covariance, COVAR_FRAC);
+        psKernel *truncated = psImageCovarianceTruncate(refConv->covariance, COVAR_FRAC);
+        psFree(refConv->covariance);
+	refConv->covariance = truncated;
     }
 
