Index: trunk/ppSub/src/ppSubFiles.c
===================================================================
--- trunk/ppSub/src/ppSubFiles.c	(revision 27094)
+++ trunk/ppSub/src/ppSubFiles.c	(revision 30619)
@@ -125,4 +125,5 @@
     // FPA
     if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) {
+	psFree (view);
         return false;
     }
@@ -131,4 +132,5 @@
     view->chip = 0;
     if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) {
+	psFree (view);
         return false;
     }
@@ -137,4 +139,5 @@
     view->cell = 0;
     if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) {
+	psFree (view);
         return false;
     }
@@ -143,9 +146,11 @@
     view->readout = 0;
     if (!pmFPAfileIOChecks(config, view, PM_FPA_BEFORE)) {
-        return false;
-    }
-
-    ppSubFilesActivate(config, PPSUB_FILES_ALL, false);
-
+	psFree (view);
+        return false;
+    }
+
+    ppSubFilesActivate(config, PPSUB_FILES_ALL, false);
+
+    psFree (view);
     return true;
 }
@@ -162,4 +167,5 @@
     // Readout
     if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) {
+	psFree (view);
         return false;
     }
@@ -168,4 +174,5 @@
     view->readout = -1;
     if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) {
+	psFree (view);
         return false;
     }
@@ -174,4 +181,5 @@
     view->cell = -1;
     if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) {
+	psFree (view);
         return false;
     }
@@ -180,4 +188,5 @@
     view->chip = -1;
     if (!pmFPAfileIOChecks(config, view, PM_FPA_AFTER)) {
+	psFree (view);
         return false;
     }
@@ -222,4 +231,5 @@
     ppSubFilesActivate(config, PPSUB_FILES_ALL, false);
 
+    psFree (view);
     return true;
 }
