diff --git a/daemon/src/dbus/networkmanager.cpp b/daemon/src/dbus/networkmanager.cpp
index 52680d4acb8b02e6b4372458d7e9e9cacc3e17ea..ed9d6f45f950588fb2c61720d5e5331ccf395712 100644
--- a/daemon/src/dbus/networkmanager.cpp
+++ b/daemon/src/dbus/networkmanager.cpp
@@ -32,13 +32,13 @@
 #include "../manager.h"
 #include "logger.h"
 
-const std::string NetworkManager::statesString[5] = {"unknown", "asleep",
-                                                     "connecting", "connected",
-                                                     "disconnected"};
+const std::string NetworkManager::statesString[] = {"unknown", "asleep",
+                                                    "connecting", "connected",
+                                                    "disconnected", "unknown",};
 
 std::string NetworkManager::stateAsString(const uint32_t &state)
 {
-    return statesString[state];
+    return statesString[state < 6 ? state : 5];
 }
 
 void NetworkManager::StateChanged(const uint32_t &state)
diff --git a/daemon/src/dbus/networkmanager.h b/daemon/src/dbus/networkmanager.h
index 0f005d9ef469fb2fdbd96ad3998fd86ca5781c16..69a83a104f0f1692f876b732fd510e44370a9427 100644
--- a/daemon/src/dbus/networkmanager.h
+++ b/daemon/src/dbus/networkmanager.h
@@ -56,7 +56,7 @@ class NetworkManager : public org::freedesktop::NetworkManager_proxy,
             NM_STATE_DISCONNECTED
         };
 
-        static const std::string statesString[5];
+        static const std::string statesString[];
 };
 #endif