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 6ed35b4..81586d8 100644
--- a/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
+++ b/src/main/java/net/onrc/onos/core/drivermanager/OFSwitchImplCPqD13.java
@@ -1004,6 +1004,10 @@
             if (b.mplsLabel != -1) {
                 OFAction pushLabel = factory.actions().buildPushMpls()
                         .setEthertype(EthType.MPLS_UNICAST).build();
+                OFOxmMplsBos bosX = factory.oxms()
+                        .mplsBos(OFBooleanValue.TRUE);
+                OFAction setBX = factory.actions().buildSetField()
+                        .setField(bosX).build();
                 OFOxmMplsLabel lid = factory.oxms()
                         .mplsLabel(U32.of(b.mplsLabel));
                 OFAction setLabel = factory.actions().buildSetField()
@@ -1012,6 +1016,7 @@
                 OFAction decrTtl = factory.actions().decMplsTtl();
                 actions.add(pushLabel);
                 actions.add(setLabel);
+                actions.add(setBX);
                 actions.add(copyTtl);
                 actions.add(decrTtl);
             }
@@ -1061,6 +1066,10 @@
             if (b.mplsLabel != -1) {
                 OFAction pushLabel = factory.actions().buildPushMpls()
                         .setEthertype(EthType.MPLS_UNICAST).build();
+                OFOxmMplsBos bosX = factory.oxms()
+                        .mplsBos(OFBooleanValue.TRUE);
+                OFAction setBX = factory.actions().buildSetField()
+                        .setField(bosX).build();
                 OFOxmMplsLabel lid = factory.oxms()
                         .mplsLabel(U32.of(b.mplsLabel));
                 OFAction setLabel = factory.actions().buildSetField()
@@ -1069,6 +1078,7 @@
                 OFAction decrTtl = factory.actions().decMplsTtl();
                 actions.add(pushLabel);
                 actions.add(setLabel);
+                actions.add(setBX);
                 actions.add(copyTtl);
                 actions.add(decrTtl);
             }
