diff --git a/monitor/argument.cpp b/monitor/argument.cpp
index 2fbef68..c756649 100644
--- a/monitor/argument.cpp
+++ b/monitor/argument.cpp
@@ -33,7 +33,7 @@
         if ((option == '?') || (option == 'h'))
         {
             usage(argv);
-            exit(-1);
+            exit(1);
         }
 
         auto i = &options[0];
diff --git a/monitor/gen-fan-monitor-defs.py b/monitor/gen-fan-monitor-defs.py
index a5f225b..de25fef 100755
--- a/monitor/gen-fan-monitor-defs.py
+++ b/monitor/gen-fan-monitor-defs.py
@@ -126,7 +126,7 @@
 
     if not args.monitor_yaml:
         parser.print_usage()
-        sys.exit(-1)
+        sys.exit(1)
 
     with open(args.monitor_yaml, 'r') as monitor_input:
         monitor_data = yaml.safe_load(monitor_input) or {}
diff --git a/monitor/main.cpp b/monitor/main.cpp
index 84dd7d1..512e3f7 100644
--- a/monitor/main.cpp
+++ b/monitor/main.cpp
@@ -35,7 +35,7 @@
     if (argc != 2)
     {
         args.usage(argv);
-        exit(-1);
+        return 1;
     }
 
     Mode mode;
@@ -50,7 +50,7 @@
     else
     {
         args.usage(argv);
-        exit(-1);
+        return 1;
     }
 
     auto r = sd_event_default(&events);
@@ -58,7 +58,7 @@
     {
         log<level::ERR>("Failed call to sd_event_default()",
                         entry("ERROR=%s", strerror(-r)));
-        return -1;
+        return 1;
     }
 
     std::unique_ptr<phosphor::fan::trust::Manager> trust =
@@ -101,5 +101,5 @@
         }
     }
 
-    return -1;
+    return 1;
 }
