Index: trunk/ppSub/src/ppSub.c
===================================================================
--- trunk/ppSub/src/ppSub.c	(revision 27076)
+++ trunk/ppSub/src/ppSub.c	(revision 27077)
@@ -63,7 +63,4 @@
 
  die:
-    psTrace("ppSub", 1, "Finished at %f sec\n", psTimerMark("ppSub"));
-    psTimerStop();
-
     if (data && data->stats && data->statsFile) {
         psString stats = psMetadataConfigFormat(data->stats); // Statistics to output
@@ -90,9 +87,4 @@
         psFree(data);
     }
-
-    pmVisualClose(); //close plot windows, if -visual is set
-    pmModelClassCleanup();
-    pmConfigDone();
-    psLibFinalize();
 
     psExit exitValue = PS_EXIT_SUCCESS;        // Exit value for program
@@ -136,4 +128,16 @@
     }
 
+    if (config && !ppSubFilesIterateUp(config, PPSUB_FILES_ALL)) {
+        psErrorStackPrint(stderr, "Unable to close files.");
+    }
+
+    psTrace("ppSub", 1, "Finished at %f sec\n", psTimerMark("ppSub"));
+    psTimerStop();
+
+    pmVisualClose(); //close plot windows, if -visual is set
+    pmModelClassCleanup();
+    pmConfigDone();
+    psLibFinalize();
+
     exit(exitValue);
 }
