diff --git a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
index 83c96e1..873a273 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/device/impl/GossipDeviceStore.java
@@ -383,7 +383,8 @@
         // We allow only certain attributes to trigger update
         boolean propertiesChanged =
                 !Objects.equals(oldDevice.hwVersion(), newDevice.hwVersion()) ||
-                        !Objects.equals(oldDevice.swVersion(), newDevice.swVersion());
+                        !Objects.equals(oldDevice.swVersion(), newDevice.swVersion()) ||
+                        !Objects.equals(oldDevice.providerId(), newDevice.providerId());
         boolean annotationsChanged =
                 !AnnotationsUtil.isEqual(oldDevice.annotations(), newDevice.annotations());
 
@@ -399,16 +400,14 @@
                         , newDevice);
             }
             if (!providerId.isAncillary()) {
+                boolean wasOnline = availableDevices.contains(newDevice.id());
                 markOnline(newDevice.id(), newTimestamp);
+                if (!wasOnline) {
+                    notifyDelegateIfNotNull(new DeviceEvent(DEVICE_AVAILABILITY_CHANGED, newDevice, null));
+                }
             }
-            return new DeviceEvent(DeviceEvent.Type.DEVICE_UPDATED, newDevice, null);
-        }
 
-        // Otherwise merely attempt to change availability if primary provider
-        if (!providerId.isAncillary()) {
-            boolean added = markOnline(newDevice.id(), newTimestamp);
-            return !added ? null :
-                    new DeviceEvent(DEVICE_AVAILABILITY_CHANGED, newDevice, null);
+            return new DeviceEvent(DeviceEvent.Type.DEVICE_UPDATED, newDevice, null);
         }
         return null;
     }
