diff --git a/utils/misc/src/main/java/org/onlab/packet/ICMP.java b/utils/misc/src/main/java/org/onlab/packet/ICMP.java
index 68fddcb..f503667 100644
--- a/utils/misc/src/main/java/org/onlab/packet/ICMP.java
+++ b/utils/misc/src/main/java/org/onlab/packet/ICMP.java
@@ -14,7 +14,6 @@
  * limitations under the License.
  */
 
-
 package org.onlab.packet;
 
 import java.nio.ByteBuffer;
@@ -32,8 +31,13 @@
 
     public static final byte TYPE_ECHO_REQUEST = 0x08;
     public static final byte TYPE_ECHO_REPLY = 0x00;
+    //Uses CODE_ECHO_REPLY instead.
+    @Deprecated
     public static final byte SUBTYPE_ECHO_REPLY = 0x00;
 
+    public static final byte CODE_ECHO_REPLY = 0x00;
+    public static final byte CODE_ECHO_REQEUST = 0x00;
+
     public static final short ICMP_HEADER_LENGTH = 4;
 
     /**
@@ -194,9 +198,27 @@
             icmp.icmpCode = bb.get();
             icmp.checksum = bb.getShort();
 
-            icmp.payload = Data.deserializer()
-                    .deserialize(data, bb.position(), bb.limit()
-                            - bb.position());
+            switch (icmp.icmpType) {
+                case ICMP.TYPE_ECHO_REQUEST:
+                case ICMP.TYPE_ECHO_REPLY:
+                    Deserializer<ICMPEcho> deserializer = ICMPEcho.deserializer();
+                    icmp.payload = deserializer.deserialize(data, bb.position(), ICMPEcho.ICMP_ECHO_HEADER_LENGTH);
+                    bb.position(bb.position() + ICMPEcho.ICMP_ECHO_HEADER_LENGTH);
+                    icmp.payload.setPayload(Data.deserializer().deserialize(
+                            data,
+                            bb.position(),
+                            bb.limit()
+                                    - bb.position()
+                    ));
+                    break;
+                default:
+                    icmp.payload = Data.deserializer()
+                            .deserialize(data, bb.position(), bb.limit()
+                                    - bb.position());
+                    break;
+            }
+
+
             icmp.payload.setParent(icmp);
             return icmp;
         };
