diff --git a/openflow/api/src/main/java/org/onosproject/openflow/controller/DefaultOpenFlowPacketContext.java b/openflow/api/src/main/java/org/onosproject/openflow/controller/DefaultOpenFlowPacketContext.java
index da2bd16..238c400 100644
--- a/openflow/api/src/main/java/org/onosproject/openflow/controller/DefaultOpenFlowPacketContext.java
+++ b/openflow/api/src/main/java/org/onosproject/openflow/controller/DefaultOpenFlowPacketContext.java
@@ -104,7 +104,7 @@
         } catch (BufferUnderflowException | NullPointerException |
                 DeserializationException e) {
             Logger log = LoggerFactory.getLogger(getClass());
-            log.warn("packet deserialization problem");
+            log.warn("packet deserialization problem : {}", e.getMessage());
             return null;
         }
     }
diff --git a/utils/misc/src/main/java/org/onlab/packet/DHCP.java b/utils/misc/src/main/java/org/onlab/packet/DHCP.java
index a22f4d2..f7a6685 100644
--- a/utils/misc/src/main/java/org/onlab/packet/DHCP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/DHCP.java
@@ -628,6 +628,9 @@
                         }
                     }
                 } else if (code == 255) {
+                    DHCPOption end = new DHCPOption();
+                    end.setCode((byte) 255);
+                    dhcp.options.add(end);
                     // remaining bytes are supposed to be 0, but ignore them just in
                     // case
                     foundEndOptionsMarker = true;
diff --git a/utils/misc/src/main/java/org/onlab/packet/IGMP.java b/utils/misc/src/main/java/org/onlab/packet/IGMP.java
index 9d5535d..e7abbd6 100644
--- a/utils/misc/src/main/java/org/onlab/packet/IGMP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/IGMP.java
@@ -271,7 +271,8 @@
                     break;
 
                 default:
-                    msg = "IGMP message type: " + igmp.igmpType + " is not recodnized";
+                    msg = "IGMP message type: " + igmp.igmpType + " is not recognized";
+                    igmp.unsupportTypeData = bb.array();
                     igmp.log.debug(msg);
                     break;
             }
diff --git a/utils/misc/src/test/java/org/onlab/packet/DhcpTest.java b/utils/misc/src/test/java/org/onlab/packet/DhcpTest.java
index ff48331..aac8141 100644
--- a/utils/misc/src/test/java/org/onlab/packet/DhcpTest.java
+++ b/utils/misc/src/test/java/org/onlab/packet/DhcpTest.java
@@ -130,7 +130,7 @@
 
         assertEquals(serverName, dhcp.serverName);
         assertEquals(bootFileName, dhcp.bootFileName);
-        assertEquals(1, dhcp.options.size());
+        assertEquals(2, dhcp.options.size());
         assertEquals(hostNameOption, dhcp.options.get(0));
     }
 
