diff --git a/control/argument.cpp b/control/argument.cpp
index d9b832d..e014453 100644
--- a/control/argument.cpp
+++ b/control/argument.cpp
@@ -33,7 +33,7 @@
         if ((option == '?') || (option == 'h'))
         {
             usage(argv);
-            exit(-1);
+            exit(1);
         }
 
         auto i = &options[0];
diff --git a/control/gen-fan-zone-defs.py b/control/gen-fan-zone-defs.py
index 644ce54..e5aa39b 100755
--- a/control/gen-fan-zone-defs.py
+++ b/control/gen-fan-zone-defs.py
@@ -600,7 +600,7 @@
 
     if not args.zone_yaml or not args.fan_yaml:
         parser.print_usage()
-        sys.exit(-1)
+        sys.exit(1)
 
     with open(args.zone_yaml, 'r') as zone_input:
         zone_data = yaml.safe_load(zone_input) or {}
diff --git a/control/main.cpp b/control/main.cpp
index 80a7df6..8c13cf9 100644
--- a/control/main.cpp
+++ b/control/main.cpp
@@ -32,7 +32,7 @@
     if (argc != 2)
     {
         args.usage(argv);
-        exit(-1);
+        return 1;
     }
 
     Mode mode;
@@ -48,7 +48,7 @@
     else
     {
         args.usage(argv);
-        exit(-1);
+        return 1;
     }
 
     auto r = sd_event_default(&events);
@@ -56,7 +56,7 @@
     {
         log<level::ERR>("Failed call to sd_event_default()",
                         entry("ERROR=%s", strerror(-r)));
-        return -1;
+        return 1;
     }
 
     phosphor::fan::event::EventPtr eventPtr{events};
@@ -86,7 +86,7 @@
         }
     }
     //Log the useful metadata on these exceptions and let the app
-    //return -1 so it is restarted without a core dump.
+    //return 1 so it is restarted without a core dump.
     catch (phosphor::fan::util::DBusServiceError& e)
     {
         log<level::ERR>("Uncaught DBus service lookup failure exception",
@@ -110,5 +110,5 @@
                 entry("PROPERTY=%s", e.property.c_str()));
     }
 
-    return -1;
+    return 1;
 }
