diff --git a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java
index 4d2eaf7..0ecaadd 100644
--- a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java
+++ b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleDriverProvider.java
@@ -22,6 +22,7 @@
 import com.google.common.collect.Sets;
 import org.onosproject.core.ApplicationId;
 import org.onosproject.mastership.MastershipService;
+import org.onosproject.net.Device;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.device.DeviceService;
 import org.onosproject.net.flow.CompletedBatchOperation;
@@ -154,11 +155,13 @@
     }
 
     private FlowRuleProgrammable getFlowRuleProgrammable(DeviceId deviceId) {
-        FlowRuleProgrammable programmable = deviceService.getDevice(deviceId).as(FlowRuleProgrammable.class);
-        if (programmable == null) {
+        Device device = deviceService.getDevice(deviceId);
+        if (device.is(FlowRuleProgrammable.class)) {
+            return device.as(FlowRuleProgrammable.class);
+        } else {
             log.warn("Device {} is not flow rule programmable");
+            return null;
         }
-        return programmable;
     }
 
 
diff --git a/core/net/src/main/java/org/onosproject/net/group/impl/GroupDriverProvider.java b/core/net/src/main/java/org/onosproject/net/group/impl/GroupDriverProvider.java
index 75fbb89..35f3ba0 100644
--- a/core/net/src/main/java/org/onosproject/net/group/impl/GroupDriverProvider.java
+++ b/core/net/src/main/java/org/onosproject/net/group/impl/GroupDriverProvider.java
@@ -16,6 +16,7 @@
 
 package org.onosproject.net.group.impl;
 
+import org.onosproject.net.Device;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.device.DeviceService;
 import org.onosproject.net.group.GroupOperations;
@@ -60,10 +61,12 @@
     }
 
     private GroupProgrammable getGroupProgrammable(DeviceId deviceId) {
-        GroupProgrammable programmable = deviceService.getDevice(deviceId).as(GroupProgrammable.class);
-        if (programmable == null) {
+        Device device = deviceService.getDevice(deviceId);
+        if (device.is(GroupProgrammable.class)) {
+            return device.as(GroupProgrammable.class);
+        } else {
             log.warn("Device {} is not group programmable");
+            return null;
         }
-        return programmable;
     }
 }
diff --git a/core/net/src/main/java/org/onosproject/net/packet/impl/PacketDriverProvider.java b/core/net/src/main/java/org/onosproject/net/packet/impl/PacketDriverProvider.java
index ae37736..3b9e359 100644
--- a/core/net/src/main/java/org/onosproject/net/packet/impl/PacketDriverProvider.java
+++ b/core/net/src/main/java/org/onosproject/net/packet/impl/PacketDriverProvider.java
@@ -16,6 +16,7 @@
 
 package org.onosproject.net.packet.impl;
 
+import org.onosproject.net.Device;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.device.DeviceService;
 import org.onosproject.net.packet.OutboundPacket;
@@ -60,10 +61,12 @@
     }
 
     private PacketProgrammable getPacketProgrammable(DeviceId deviceId) {
-        PacketProgrammable programmable = deviceService.getDevice(deviceId).as(PacketProgrammable.class);
-        if (programmable == null) {
+        Device device = deviceService.getDevice(deviceId);
+        if (device.is(PacketProgrammable.class)) {
+            return device.as(PacketProgrammable.class);
+        } else {
             log.warn("Device {} is not packet programmable");
+            return null;
         }
-        return programmable;
     }
 }
