diff --git a/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/AbstractLabeledUnicastRIBSupport.java b/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/AbstractLabeledUnicastRIBSupport.java
index 10027ca77..5e555874e 100644
--- a/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/AbstractLabeledUnicastRIBSupport.java
+++ b/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/AbstractLabeledUnicastRIBSupport.java
@@ -126,7 +126,7 @@ abstract class AbstractLabeledUnicastRIBSupport<
         final ByteBuf buffer = Unpooled.buffer();
 
         final CLabeledUnicastDestination dest = extractCLabeledUnicastDestination(labeledUnicast);
-        LUNlriParser.serializeNlri(Collections.singletonList(dest), false, buffer);
+        LUNlriParser.serializeNlri(Collections.singletonList(dest), buffer);
         final String routeKeyValue = ByteArray.encodeBase64(buffer);
         final Optional<DataContainerChild<? extends PathArgument, ?>> maybePathIdLeaf
                 = labeledUnicast.getChild(routePathIdNid());
diff --git a/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/LUNlriParser.java b/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/LUNlriParser.java
index aafb6cdac..50861cf4a 100644
--- a/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/LUNlriParser.java
+++ b/bgp/extensions/labeled-unicast/src/main/java/org/opendaylight/protocol/bgp/labeled/unicast/LUNlriParser.java
@@ -74,7 +74,7 @@ public class LUNlriParser implements NlriParser, NlriSerializer {
                                 .reach.nlri.advertized.routes.destination.type.DestinationLabeledUnicastCase)
                                 destinationType;
                     serializeNlri(labeledUnicastCase.getDestinationLabeledUnicast().getCLabeledUnicastDestination(),
-                        false, byteAggregator);
+                        byteAggregator);
                 } else if (destinationType instanceof org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang
                         .bgp.labeled.unicast.rev180329.update.attributes.mp.reach.nlri.advertized.routes.destination
                         .type.DestinationIpv6LabeledUnicastCase) {
@@ -85,7 +85,7 @@ public class LUNlriParser implements NlriParser, NlriSerializer {
                                 .reach.nlri.advertized.routes.destination.type.DestinationIpv6LabeledUnicastCase)
                                 destinationType;
                     serializeNlri(labeledUnicastCase.getDestinationIpv6LabeledUnicast().getCLabeledUnicastDestination(),
-                        false, byteAggregator);
+                        byteAggregator);
                 }
             }
         } else if (pathAttributes2 != null) {
@@ -98,31 +98,29 @@ public class LUNlriParser implements NlriParser, NlriSerializer {
                     final DestinationLabeledUnicastCase labeledUnicastCase = (DestinationLabeledUnicastCase)
                             destinationType;
                     serializeNlri(labeledUnicastCase.getDestinationLabeledUnicast().getCLabeledUnicastDestination(),
-                        true, byteAggregator);
+                        byteAggregator);
                 } else if (destinationType instanceof DestinationIpv6LabeledUnicastCase) {
                     final DestinationIpv6LabeledUnicastCase labeledUnicastCase = (DestinationIpv6LabeledUnicastCase)
                             destinationType;
                     serializeNlri(labeledUnicastCase.getDestinationIpv6LabeledUnicast().getCLabeledUnicastDestination(),
-                        true, byteAggregator);
+                        byteAggregator);
                 }
             }
         }
     }
 
-    protected static void serializeNlri(final List<CLabeledUnicastDestination> dests, final boolean isUnreachNlri,
+    protected static void serializeNlri(final List<CLabeledUnicastDestination> dests,
             final ByteBuf buffer) {
         final ByteBuf nlriByteBuf = Unpooled.buffer();
         for (final CLabeledUnicastDestination dest : dests) {
             PathIdUtil.writePathId(dest.getPathId(), buffer);
 
-            final List<LabelStack> labelStack = dest.getLabelStack();
             final IpPrefix prefix = dest.getPrefix();
+
             // Serialize the length field
-            // Length field contains one Byte which represents the length of label stack and prefix in bits
-            nlriByteBuf.writeByte((LABEL_LENGTH * (!isUnreachNlri ? labelStack.size() : 1)
-                    + getPrefixLength(prefix)) * Byte.SIZE);
+            // Length field contains prefix in bits
+            nlriByteBuf.writeByte((getPrefixLength(prefix)) * Byte.SIZE);
 
-            serializeLabelStackEntries(labelStack, isUnreachNlri, nlriByteBuf);
             serializePrefixField(prefix, nlriByteBuf);
         }
         buffer.writeBytes(nlriByteBuf);
diff --git a/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LUNlriParserTest.java b/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LUNlriParserTest.java
index 52cfd04bf..46334c6f4 100644
--- a/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LUNlriParserTest.java
+++ b/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LUNlriParserTest.java
@@ -90,6 +90,11 @@ public class LUNlriParserTest {
         (byte) 0x22, (byte) 0x01, (byte) 0x16,
     };
 
+    private static final byte[] LU_NLRI_IPV4_SERIALIZED = new byte[]{
+        (byte) 0x18,
+        (byte) 0x22, (byte) 0x01, (byte) 0x16,
+    };
+
     /*
      * label stacks with multiple labels.
      *
@@ -129,6 +134,12 @@ public class LUNlriParserTest {
         (byte) 0x22, (byte) 0x01, (byte) 0x16,
     };
 
+    private static final byte[] LU_NLRI_IPV4_ADD_PATH_SERIALIZED = new byte[]{
+        (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x01,
+        (byte) 0x18,
+        (byte) 0x22, (byte) 0x01, (byte) 0x16,
+    };
+
     /*
      * label stacks with multiple labels.
      *
@@ -170,6 +181,14 @@ public class LUNlriParserTest {
         (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
     };
 
+    private static final byte[] LU_NLRI_IPV6_SERIALIZED = new byte[]{
+        (byte) 0x80,
+        (byte) 0x20, (byte) 0x01, (byte) 0x0d, (byte) 0xb8,
+        (byte) 0x00, (byte) 0x01, (byte) 0x00, (byte) 0x02,
+        (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
+        (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
+    };
+
     /*
      * label stacks with multiple labels.
      *
@@ -213,6 +232,15 @@ public class LUNlriParserTest {
         (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
     };
 
+    private static final byte[] LU_NLRI_IPV6_ADD_PATH_SERIALIZED = new byte[]{
+        (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x01,
+        (byte) 0x80,
+        (byte) 0x20, (byte) 0x01, (byte) 0x0d, (byte) 0xb8,
+        (byte) 0x00, (byte) 0x01, (byte) 0x00, (byte) 0x02,
+        (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
+        (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x00,
+    };
+
     private static final List<LabelStack> LABEL_STACK = Lists.newArrayList(
         new LabelStackBuilder().setLabelValue(new MplsLabel(Uint32.valueOf(355))).build(),
         new LabelStackBuilder().setLabelValue(new MplsLabel(Uint32.valueOf(356))).build(),
@@ -259,7 +287,7 @@ public class LUNlriParserTest {
         final ByteBuf output = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes1.class,
             new Attributes1Builder().setMpReachNlri(mpReachExpected).build()).build(), output);
-        assertArrayEquals(LU_REACH_NLRI_IPV4, ByteArray.readAllBytes(output));
+        assertArrayEquals(LU_NLRI_IPV4_SERIALIZED, ByteArray.readAllBytes(output));
     }
 
     @Test
@@ -287,7 +315,7 @@ public class LUNlriParserTest {
         final ByteBuf output = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes1.class,
             new Attributes1Builder().setMpReachNlri(mpReachExpected).build()).build(), output);
-        assertArrayEquals(LU_REACH_NLRI_IPV4_ADD_PATH, ByteArray.readAllBytes(output));
+        assertArrayEquals(LU_NLRI_IPV4_ADD_PATH_SERIALIZED, ByteArray.readAllBytes(output));
     }
 
     @Test
@@ -331,12 +359,12 @@ public class LUNlriParserTest {
         final ByteBuf output = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes2.class,
             new Attributes2Builder().setMpUnreachNlri(mpUnreachExpected2).build()).build(), output);
-        assertArrayEquals(LU_UNREACH_NLRI_IPV4, ByteArray.readAllBytes(output));
+        assertArrayEquals(LU_NLRI_IPV4_SERIALIZED, ByteArray.readAllBytes(output));
 
         final ByteBuf output1 = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes2.class,
             new Attributes2Builder().setMpUnreachNlri(mpUnreachExpected1).build()).build(), output1);
-        assertArrayEquals(LU_UNREACH_NLRI_IPV4, ByteArray.readAllBytes(output1));
+        assertArrayEquals(LU_NLRI_IPV4_SERIALIZED, ByteArray.readAllBytes(output1));
     }
 
     @Test
@@ -381,12 +409,12 @@ public class LUNlriParserTest {
         final ByteBuf output = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes2.class,
             new Attributes2Builder().setMpUnreachNlri(mpUnreachExpected2).build()).build(), output);
-        assertArrayEquals(LU_UNREACH_NLRI_IPV4_ADD_PATH, ByteArray.readAllBytes(output));
+        assertArrayEquals(LU_NLRI_IPV4_ADD_PATH_SERIALIZED, ByteArray.readAllBytes(output));
 
         final ByteBuf output1 = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes2.class,
             new Attributes2Builder().setMpUnreachNlri(mpUnreachExpected1).build()).build(), output1);
-        assertArrayEquals(LU_UNREACH_NLRI_IPV4_ADD_PATH, ByteArray.readAllBytes(output1));
+        assertArrayEquals(LU_NLRI_IPV4_ADD_PATH_SERIALIZED, ByteArray.readAllBytes(output1));
     }
 
     @Test
@@ -415,7 +443,7 @@ public class LUNlriParserTest {
         final ByteBuf output = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes1.class,
             new Attributes1Builder().setMpReachNlri(mpReachExpected).build()).build(), output);
-        assertArrayEquals(LU_REACH_NLRI_IPV6, ByteArray.readAllBytes(output));
+        assertArrayEquals(LU_NLRI_IPV6_SERIALIZED, ByteArray.readAllBytes(output));
     }
 
     @Test
@@ -444,7 +472,7 @@ public class LUNlriParserTest {
         final ByteBuf output = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes1.class,
             new Attributes1Builder().setMpReachNlri(mpReachExpected).build()).build(), output);
-        assertArrayEquals(LU_REACH_NLRI_IPV6_ADD_PATH, ByteArray.readAllBytes(output));
+        assertArrayEquals(LU_NLRI_IPV6_ADD_PATH_SERIALIZED, ByteArray.readAllBytes(output));
     }
 
     @Test
@@ -486,12 +514,12 @@ public class LUNlriParserTest {
         final ByteBuf output = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes2.class,
             new Attributes2Builder().setMpUnreachNlri(mpUnreachExpected2).build()).build(), output);
-        assertArrayEquals(LU_UNREACH_NLRI_IPV6, ByteArray.readAllBytes(output));
+        assertArrayEquals(LU_NLRI_IPV6_SERIALIZED, ByteArray.readAllBytes(output));
 
         final ByteBuf output1 = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes2.class,
             new Attributes2Builder().setMpUnreachNlri(mpUnreachExpected1).build()).build(), output1);
-        assertArrayEquals(LU_UNREACH_NLRI_IPV6, ByteArray.readAllBytes(output1));
+        assertArrayEquals(LU_NLRI_IPV6_SERIALIZED, ByteArray.readAllBytes(output1));
     }
 
     @Test
@@ -535,11 +563,11 @@ public class LUNlriParserTest {
         final ByteBuf output = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes2.class,
             new Attributes2Builder().setMpUnreachNlri(mpUnreachExpected2).build()).build(), output);
-        assertArrayEquals(LU_UNREACH_NLRI_IPV6_ADD_PATH, ByteArray.readAllBytes(output));
+        assertArrayEquals(LU_NLRI_IPV6_ADD_PATH_SERIALIZED, ByteArray.readAllBytes(output));
 
         final ByteBuf output1 = Unpooled.buffer();
         parser.serializeAttribute(new AttributesBuilder().addAugmentation(Attributes2.class,
             new Attributes2Builder().setMpUnreachNlri(mpUnreachExpected1).build()).build(), output1);
-        assertArrayEquals(LU_UNREACH_NLRI_IPV6_ADD_PATH, ByteArray.readAllBytes(output1));
+        assertArrayEquals(LU_NLRI_IPV6_ADD_PATH_SERIALIZED, ByteArray.readAllBytes(output1));
     }
-}
+}
\ No newline at end of file
diff --git a/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LabeledUnicastIpv4RIBSupportTest.java b/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LabeledUnicastIpv4RIBSupportTest.java
index 43013b6f2..cab3d68f4 100644
--- a/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LabeledUnicastIpv4RIBSupportTest.java
+++ b/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LabeledUnicastIpv4RIBSupportTest.java
@@ -85,7 +85,7 @@ public class LabeledUnicastIpv4RIBSupportTest extends AbstractRIBSupportTest<Lab
         final BGPExtensionProviderContext context = new SimpleBGPExtensionProviderContext();
         act.start(context);
         final ByteBuf buffer = Unpooled.buffer();
-        LUNlriParser.serializeNlri(LABELED_DESTINATION_LIST, false, buffer);
+        LUNlriParser.serializeNlri(LABELED_DESTINATION_LIST, buffer);
         LABEL_KEY = ByteArray.encodeBase64(buffer);
         ROUTE_KEY = new LabeledUnicastRouteKey(PATH_ID, LABEL_KEY);
         ROUTE = new LabeledUnicastRouteBuilder()
diff --git a/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LabeledUnicastIpv6RIBSupportTest.java b/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LabeledUnicastIpv6RIBSupportTest.java
index 480afda65..231252237 100644
--- a/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LabeledUnicastIpv6RIBSupportTest.java
+++ b/bgp/extensions/labeled-unicast/src/test/java/org/opendaylight/protocol/bgp/labeled/unicast/LabeledUnicastIpv6RIBSupportTest.java
@@ -88,7 +88,7 @@ public class LabeledUnicastIpv6RIBSupportTest extends AbstractRIBSupportTest<Lab
         final BGPExtensionProviderContext context = new SimpleBGPExtensionProviderContext();
         act.start(context);
         final ByteBuf buffer = Unpooled.buffer();
-        LUNlriParser.serializeNlri(LABELED_DESTINATION_LIST, false, buffer);
+        LUNlriParser.serializeNlri(LABELED_DESTINATION_LIST, buffer);
         LABEL_KEY = ByteArray.encodeBase64(buffer);
         ROUTE_KEY = new LabeledUnicastRouteKey(PATH_ID, LABEL_KEY);
         ROUTE = new LabeledUnicastRouteBuilder().withKey(ROUTE_KEY)
diff --git a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java
index 937382a0f..7d6b0075b 100644
--- a/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java
+++ b/bgp/rib-impl/src/main/java/org/opendaylight/protocol/bgp/rib/impl/BGPPeer.java
@@ -211,7 +211,6 @@ public class BGPPeer extends AbstractPeer implements BGPSessionListener {
     private static MpUnreachNlri prefixesToMpUnreach(final Update message, final boolean isAnyNlriAnnounced) {
         final List<Ipv4Prefixes> prefixes = new ArrayList<>();
         message.getWithdrawnRoutes().forEach(w -> {
-
             Optional<Nlri> nlriAnounced = Optional.empty();
             if (isAnyNlriAnnounced) {
                 nlriAnounced = message.getNlri().stream().filter(n -> Objects.equals(n.getPrefix(), w.getPrefix())
diff --git a/bgp/testtool/pom.xml b/bgp/testtool/pom.xml
index e9add190a..bcc9e7151 100644
--- a/bgp/testtool/pom.xml
+++ b/bgp/testtool/pom.xml
@@ -139,7 +139,7 @@
         <dependency>
             <groupId>net.sourceforge.argparse4j</groupId>
             <artifactId>argparse4j</artifactId>
-            <version>0.7.0</version>
+            <version>0.8.1</version>
         </dependency>
     </dependencies>
 
diff --git a/bmp/bmp-mock/pom.xml b/bmp/bmp-mock/pom.xml
index ca678b930..5b3abeb7f 100644
--- a/bmp/bmp-mock/pom.xml
+++ b/bmp/bmp-mock/pom.xml
@@ -97,7 +97,7 @@
         <dependency>
             <groupId>net.sourceforge.argparse4j</groupId>
             <artifactId>argparse4j</artifactId>
-            <version>0.7.0</version>
+            <version>0.8.1</version>
         </dependency>
         <dependency>
             <groupId>${project.groupId}</groupId>
