diff --git a/insteonplm/plm.py b/insteonplm/plm.py
index <HASH>..<HASH> 100644
--- a/insteonplm/plm.py
+++ b/insteonplm/plm.py
@@ -273,13 +273,14 @@ class PLM(asyncio.Protocol):
             # we can use that as the device type for this record
             # Otherwise we need to request the device ID.
             if device is not None:
-                if device.prod_data_in_aldb:
-                    if device is not None:
-                        if isinstance(device, list):
-                            for currdev in device:
+                if device is not None:
+                    if isinstance(device, list):
+                        for currdev in device:
+                            if device.prod_data_in_aldb:
                                 self.devices[currdev.id] = currdev
                                 self.log.info('Device with id %s added to device list from ALDB Data.', currdev.id)
-                        else:
+                    else:
+                        if device.prod_data_in_aldb:
                             self.devices[device.id] = device
                             self.log.info('Device with id %s added to device list from ALDB data.', device.id)
Fixed adding complex devices from ALDB data