diff --git a/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java b/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java
index cad67c0..9afbdcc 100644
--- a/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java
+++ b/app/src/main/java/org/opencord/sadis/impl/UniTagInformationCodec.java
@@ -81,7 +81,6 @@
         if (json == null || !json.isObject()) {
             return null;
         }
-
         UniTagInformation.Builder tagInfoBuilder = new UniTagInformation.Builder();
         String usBp = json.get(US_BP) == null ? EMPTY_BP :
                 json.get(US_BP).asText();
@@ -93,7 +92,7 @@
                 VlanId.vlanId(json.get(UNI_TAG_MATCH).shortValue()))
                 .setPonCTag(json.get(PON_CTAG) == null ? VlanId.vlanId(VlanId.NO_VID) :
                         VlanId.vlanId(json.get(PON_CTAG).shortValue()))
-                .setPonCTag(json.get(PON_STAG) == null ? VlanId.vlanId(VlanId.NO_VID) :
+                .setPonSTag(json.get(PON_STAG) == null ? VlanId.vlanId(VlanId.NO_VID) :
                         VlanId.vlanId(json.get(PON_STAG).shortValue()))
                 .setUsPonCTagPriority(json.get(US_PON_CTAG_PCP) == null ? NO_PCP :
                         json.get(US_PON_CTAG_PCP).asInt())
