diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/SpringOpenTTPDell.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/SpringOpenTTPDell.java
index 786c48b..e1249a9 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/SpringOpenTTPDell.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/SpringOpenTTPDell.java
@@ -42,7 +42,6 @@
 import org.onosproject.net.flowobjective.ForwardingObjective;
 import org.onosproject.net.flowobjective.ObjectiveError;
 import org.onosproject.net.group.Group;
-import org.onosproject.net.group.GroupKey;
 
 /**
  * Spring-open driver implementation for Dell hardware switches.
@@ -137,9 +136,8 @@
             NextGroup next = flowObjectiveStore.getNextGroup(fwd.nextId());
 
             if (next != null) {
-                GroupKey key = appKryo.deserialize(next.data());
-
-                Group group = groupService.getGroup(deviceId, key);
+                SpringOpenGroup soGroup = appKryo.deserialize(next.data());
+                Group group = groupService.getGroup(deviceId, soGroup.key());
 
                 if (group == null) {
                     log.warn("The group left!");
