diff --git a/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java b/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java
index 84ae19b..fc01fe4 100644
--- a/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java
+++ b/apps/netconf/client/src/main/java/org/onosproject/netconf/client/impl/NetconfTranslatorImpl.java
@@ -143,6 +143,7 @@
         /*FIXME "running" will be replaced with an enum once netconf supports multiple datastores.*/
         String reply = session.getConfig(RUNNING);
         Matcher protocolStripper = GET_CONFIG_CORE_MESSAGE_PATTERN.matcher(reply);
+        protocolStripper.find();
         reply = protocolStripper.group(GET_CONFIG_CORE_MESSAGE_GROUP);
         return yangRuntimeService.decode(
                 new DefaultCompositeStream(
@@ -212,6 +213,7 @@
         /*TODO the first parameter will come into use if get is required to support filters.*/
         String reply = session.get(null, null);
         Matcher protocolStripper = GET_CORE_MESSAGE_PATTERN.matcher(reply);
+        protocolStripper.find();
         reply = protocolStripper.group(GET_CORE_MESSAGE_GROUP);
         return yangRuntimeService.decode(
                 new DefaultCompositeStream(
