diff --git a/fabric_gce_tools/__init__.py b/fabric_gce_tools/__init__.py
index <HASH>..<HASH> 100644
--- a/fabric_gce_tools/__init__.py
+++ b/fabric_gce_tools/__init__.py
@@ -120,8 +120,8 @@ def _get_roles(data):
                 if not role in roles:
                     roles[role] = []
 
-                address = i["networkInterfaces"][0]["accessConfigs"][0]["natIP"]
-                if not address in roles[role]:
+                address = i.get("networkInterfaces", [{}])[0].get("accessConfigs", [{}])[0].get("natIP", None)
+                if address and not address in roles[role]:
                     roles[role].append(address)
 
     return roles
diff --git a/setup.py b/setup.py
index <HASH>..<HASH> 100644
--- a/setup.py
+++ b/setup.py
@@ -24,7 +24,7 @@ from setuptools import setup, find_packages
 
 setup(
     name="fabric-gce-tools",
-    version="0.4",
+    version="0.5",
     description="Fabric integration with Google Compute Engine (GCE)",
     author="Eran Sandler",
     author_email="eran@sandler.co.il",
another minor fix for handling terminated instances still alive on the instances list