Index: trunk/ippTools/src/pxadmin.c
===================================================================
--- trunk/ippTools/src/pxadmin.c	(revision 11832)
+++ trunk/ippTools/src/pxadmin.c	(revision 11840)
@@ -32,4 +32,8 @@
 
     pxConfig *config = pxAdminConfig(NULL, argc, argv);
+    if (!config) {
+        psError(PXTOOLS_ERR_CONFIG, false, "failed to configure");
+        goto FAIL;
+    }
 
     switch (config->mode) {
@@ -62,8 +66,10 @@
     psErrorStackPrint(stderr, "\n");
 
+    int exit_status = pxerrorGetExitStatus();
+
     psFree(config);
     pmConfigDone();
     psLibFinalize();
 
-    exit(EXIT_FAILURE);
+    exit(exit_status);
 }
Index: trunk/ippTools/src/pxadminConfig.c
===================================================================
--- trunk/ippTools/src/pxadminConfig.c	(revision 11832)
+++ trunk/ippTools/src/pxadminConfig.c	(revision 11840)
@@ -115,7 +115,5 @@
 FAIL:
     psFree(config);
-    pmConfigDone();
-    psLibFinalize();
-    exit(EXIT_FAILURE);
+    return NULL;
 }
 
