ECMP groups with labels - fix
diff --git a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
index 5a57b86..3630e2b 100644
--- a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
+++ b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
@@ -715,14 +715,23 @@
         /* run a binary counter for the number of power elements */
         for (long i = 1; i < powerElements; i++) {
             Set<Dpid> dpidSubSet = new HashSet<Dpid>();
-            boolean allEdgeRouters = true;
             for (int j = 0; j < elements; j++) {
                 if ((i >> j) % 2 == 1) {
                     dpidSubSet.add(list.get(j));
-                    if (!isEdgeRouter(list.get(j)))
-                        allEdgeRouters = false;
                 }
             }
+            boolean allEdgeRouters = true;
+            if (dpidSubSet.size() > 1) {
+                for (Dpid dpid : dpidSubSet) {
+                    if (!isEdgeRouter(dpid)) {
+                        allEdgeRouters = false;
+                        break;
+                    }
+                }
+            }
+            else
+                allEdgeRouters = false;
+
             if (!allEdgeRouters)
                 sets.add(dpidSubSet);
         }