diff --git a/z2m.go b/z2m.go
index b1adcef1bffeccfd563933c3313b0d8ea3c1e777..52ccfb9d9f3bc8caedf101b9f899bb45db11b8b5 100644
--- a/z2m.go
+++ b/z2m.go
@@ -128,7 +128,7 @@ func (zDev *Z2MDevice) setupXAALDevices(gw *Gateway) {
 			dev = createFunc(addr, zDev, &expose)
 		}
 		// Search a matching expose type
-		if createFunc, ok := deviceMap[zDev.Type]; ok {
+		if createFunc, ok := deviceMap[expose.Type]; ok {
 			dev = createFunc(addr, zDev, &expose)
 		}