diff --git a/src/hostinfo.py b/src/hostinfo.py
index be3ec3398173e3011cc39dc1be39a0e96de55df3..9f45fdc9767106ab23498a3fdc3cd86e6cd0a4f3 100755
--- a/src/hostinfo.py
+++ b/src/hostinfo.py
@@ -8,11 +8,7 @@ import hostinfo.ifconfig
 import hostinfo.macosx_auto
 import hostinfo.mio
 import hostinfo.named
-try:
-    import hostinfo.networkmanager
-except Exception as e:
-    print("Ignored:", e)
-    pass
+import hostinfo.networkmanager
 import hostinfo.parser
 import hostinfo.pxelinux
 import hostinfo.role
diff --git a/src/hostinfo/networkmanager.py b/src/hostinfo/networkmanager.py
index 1dfd76239d929f583dbf6c0ac3115a9dbeed6548..170c90db56b84035a3475e8ea013e72426de08fe 100644
--- a/src/hostinfo/networkmanager.py
+++ b/src/hostinfo/networkmanager.py
@@ -1,4 +1,7 @@
-import NetworkManager
+try:
+    import NetworkManager
+except:
+    pass
 import dbus
 import hostinfo.util as util
 import re
@@ -16,7 +19,6 @@ class Network(object):
 
     def __init__(self):
         self._networks = {}
-        self.reload()
         pass
 
     def reload(self):
@@ -71,6 +73,7 @@ class Network(object):
         # pprint(self._connection)
         
     def parse_tree(self, tree):
+        self.reload()
         for s in filter(util.network, tree._subnet_):
             self._networks[util.network(s)] = s
             pass