diff --git a/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcInitiatedLspRequestVer1.java b/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcInitiatedLspRequestVer1.java
index 06e01ae..d61f731 100644
--- a/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcInitiatedLspRequestVer1.java
+++ b/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcInitiatedLspRequestVer1.java
@@ -27,7 +27,6 @@
 import org.slf4j.LoggerFactory;
 
 import com.google.common.base.MoreObjects;
-import com.google.common.base.MoreObjects.ToStringHelper;
 
 /**
  * Provides PcInitiatedLspRequest for PCEP Initiate message.
@@ -280,18 +279,13 @@
 
     @Override
     public String toString() {
-        ToStringHelper toStrHelper = MoreObjects.toStringHelper(getClass());
-        toStrHelper.add("SrpObject", srpObject).add("LspObject", lspObject);
-
-        if (endPointsObject != null) {
-            toStrHelper.add("EndPointObject", endPointsObject);
-        }
-        if (eroObject != null) {
-            toStrHelper.add("EroObject", eroObject);
-        }
-        if (pcepAttribute != null) {
-            toStrHelper.add("PcepAttribute", pcepAttribute);
-        }
-        return toStrHelper.toString();
+        return MoreObjects.toStringHelper(getClass())
+                .omitNullValues()
+                .add("SrpObject", srpObject)
+                .add("LspObject", lspObject)
+                .add("EndPointObject", endPointsObject)
+                .add("EroObject", eroObject)
+                .add("PcepAttribute", pcepAttribute)
+                .toString();
     }
 }
