diff --git a/agent_based/snmp_uptime.py b/agent_based/snmp_uptime.py
index 12f736f1f21e8a673998501c0cdd404b7f0473d6..111a697fcb39603161f98a2a0758a504df006c82 100644
--- a/agent_based/snmp_uptime.py
+++ b/agent_based/snmp_uptime.py
@@ -22,12 +22,14 @@ from cmk.base.plugins.agent_based.utils import uptime
 
 def parse_snmp_uptime(string_table: StringTable) -> Optional[uptime.Section]:
     """
-    >>> parse_snmp_uptime([['2297331594', '']])
+    >>> parse_snmp_uptime([['2297331594', '', '']])
     Section(uptime_sec=22973315, message=None)
-    >>> parse_snmp_uptime([['124:21:26:42.03', '124:21:29:01.14']])
+    >>> parse_snmp_uptime([['124:21:26:42.03', '124:21:29:01.14', '']])
     Section(uptime_sec=10790941, message=None)
-    >>> None is parse_snmp_uptime([[u'', u'Fortigate 80C']])  # nonsense
+    >>> None is parse_snmp_uptime([[u'', u'Fortigate 80C', 'Whatever']])  # nonsense
     True
+    >>> parse_snmp_uptime([['2297331594', '', '313671']])
+    Section(uptime_sec=313671, message=None)
 
     """
     if not string_table:
@@ -41,7 +43,9 @@ def parse_snmp_uptime(string_table: StringTable) -> Optional[uptime.Section]:
         return None
 
     try:
-        return uptime.Section(int(snmpEngineTime), None)
+        value = int(snmpEngineTime)
+        if value > 0:
+            return uptime.Section(int(snmpEngineTime), None)
     except ValueError:
         pass
 
diff --git a/snmp_uptime.mkp b/snmp_uptime.mkp
index 68aa670db90158091d5bad148e878c39c616d9ba..4070253ad883f660bc8e432f1fdb528b4aef1ecb 100644
Binary files a/snmp_uptime.mkp and b/snmp_uptime.mkp differ