diff --git a/EDMarketConnector.py b/EDMarketConnector.py
index 31d6d9f3..9e4bd6ed 100755
--- a/EDMarketConnector.py
+++ b/EDMarketConnector.py
@@ -514,7 +514,7 @@ class AppWindow:
                             self.eddn.export_outfitting(data, monitor.is_beta)
                             if data['lastStarport'].get('ships'):
                                 self.eddn.export_shipyard(data, monitor.is_beta)
-                            elif data['lastStarport']['services'].get('shipyard'):
+                            elif data['lastStarport'].get('services', {}).get('shipyard'):
                                 # API is flakey about shipyard info - silently retry if missing (<1s is usually sufficient - 5s for margin).
                                 self.w.after(int(SERVER_RETRY * 1000), lambda:self.retry_for_shipyard(2))
                             if not old_status:
diff --git a/companion.py b/companion.py
index 61e89e53..f9098ade 100644
--- a/companion.py
+++ b/companion.py
@@ -245,15 +245,16 @@ class Session:
 
     def station(self):
         data = self.query(URL_QUERY)
-        if data.get('docked'):
-            if data['lastStarport']['services'].get('commodities'):
+        if data['commander'].get('docked'):
+            services = data['lastStarport'].get('services', {})
+            if services.get('commodities'):
                 marketdata = self.query(URL_MARKET)
                 if (data['lastStarport']['name'] != marketdata['name'] or
                     int(data['lastStarport']['id']) != int(marketdata['id'])):
                     raise ServerLagging()
                 else:
                     data['lastStarport'].update(marketdata)
-            if data['lastStarport']['services'].get('outfitting') or data['lastStarport']['services'].get('shipyard'):
+            if services.get('outfitting') or services.get('shipyard'):
                 shipdata = self.query(URL_SHIPYARD)
                 if (data['lastStarport']['name'] != shipdata['name'] or
                     int(data['lastStarport']['id']) != int(shipdata['id'])):