diff --git a/tests/test_fail2ban.py b/tests/test_fail2ban.py
index 80436ea42cb6aa4fe67ca7f7e92013a79bd4b5fc..d54ef24f4f1713173021ab58ab34b55ba210cb0d 100755
--- a/tests/test_fail2ban.py
+++ b/tests/test_fail2ban.py
@@ -109,6 +109,8 @@ def main():
     if not check_service_running("fail2ban"):
         u.warning("fail2ban is not running")
         warnings += 1
+        # warning exit if not running
+        sys.exit(3)
     else:
         u.success("fail2ban is running")
 
@@ -123,7 +125,7 @@ def main():
 
     if errors:
         sys.exit(1)
-    if warnings:
+    elif warnings:
         sys.exit(3)
     else:
         sys.exit(0)