diff --git a/inventory_provider/db/ims_data.py b/inventory_provider/db/ims_data.py
index d86b158c60d6946dfdb4daae7c76cd4daf68be8e..64687058b114e69ccc13e6424e16080b70014df9 100644
--- a/inventory_provider/db/ims_data.py
+++ b/inventory_provider/db/ims_data.py
@@ -20,7 +20,7 @@ IMS_OPSDB_STATUS_MAP = {
     InventoryStatus.IN_SERVICE: 'operational',
     InventoryStatus.MIGRATION: 'planned',
     InventoryStatus.OUT_OF_SERVICE: 'terminated',
-    InventoryStatus.READY_FOR_CEASURE: 'disposed'
+    InventoryStatus.READY_FOR_CEASURE: 'operational'
 }
 STATUSES_TO_IGNORE = \
     [InventoryStatus.OUT_OF_SERVICE.value,
@@ -220,32 +220,37 @@ def get_port_details(ds: IMS):
         ims.INTERNAL_PORT_PROPERTIES['Node'],
         ims.PORT_PROPERTIES['Shelf']
     }
-    for p in chain(
-        ds.get_all_entities('port', port_nav_props, step_count=2000),
-        ds.get_all_entities(
-            'internalport', internal_port_nav_props, step_count=2000)
-    ):
-        vendor = None
-        interface_name = None
-        try:
-            vendor = p['node']['equipmentdefinition']['vendor']['name'].lower()
-        except (TypeError, KeyError):
-            pass
-        # if there become more exceptions we will need to abstract this
-        if vendor == 'infinera' and p.get('shelf', None):
+
+    # this is here instead of chaining to make debugging easier
+    def _process_ports(ports, p_type):
+        for p in ports:
+            vendor = None
+            interface_name = None
             try:
-                interface_name = f"{p['shelf']['sequencenumber']}-{p['name']}"
-            except KeyError:
+                vendor = p['node']['equipmentdefinition']['vendor']['name'].lower()
+            except (TypeError, KeyError):
                 pass
+            # if there become more exceptions we will need to abstract this
+            if vendor == 'infinera' and p.get('shelf', None):
+                try:
+                    interface_name = f"{p['shelf']['sequencenumber']}-{p['name']}"
+                except KeyError:
+                    pass
+
+            if not interface_name:
+                interface_name = p['name']
+            data = {
+                'port_id': p['id'],
+                'equipment_name': p['node']['name'],
+                'interface_name': interface_name
+            }
+            yield data
+
+    yield from _process_ports(ds.get_all_entities(
+        'port', port_nav_props, step_count=2000), 'external')
+    yield from _process_ports(ds.get_all_entities(
+        'internalport', internal_port_nav_props, step_count=2000), 'internal')
 
-        if not interface_name:
-            interface_name = p['name']
-        data = {
-            'port_id': p['id'],
-            'equipment_name': p['node']['name'],
-            'interface_name': interface_name
-        }
-        yield data
 
 
 def get_circuit_hierarchy(ds: IMS):