diff --git a/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepStateReportVer1.java b/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepStateReportVer1.java
index 3a1bfcf..456a3c1 100644
--- a/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepStateReportVer1.java
+++ b/pcep/pcepio/src/main/java/org/onosproject/pcepio/protocol/ver1/PcepStateReportVer1.java
@@ -263,7 +263,7 @@
         public String toString() {
             ToStringHelper toStrHelper = MoreObjects.toStringHelper(getClass());
 
-            if (attrList instanceof PcepAttribute) {
+            if (attrList != null) {
                 toStrHelper.add("AttributeList", attrList);
             }
             if (rroObj instanceof PcepRroObjectVer1) {
@@ -413,15 +413,15 @@
     public String toString() {
         ToStringHelper toStrHelper = MoreObjects.toStringHelper(getClass());
 
-        if (this.srpObject instanceof PcepSrpObject) {
+        if (this.srpObject != null) {
             toStrHelper.add("SrpObject", srpObject);
         }
-        if (this.lspObject instanceof PcepLspObject) {
+        if (this.lspObject != null) {
             toStrHelper.add("LspObject", lspObject);
         }
-        if (this.msgPath instanceof PcepStateReport.PcepMsgPath) {
+        if (this.msgPath != null) {
             toStrHelper.add("MsgPath", msgPath);
         }
         return toStrHelper.toString();
     }
-}
\ No newline at end of file
+}
