diff --git a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecord.java b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecord.java
index 29ad1bd..66ef81d 100644
--- a/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecord.java
+++ b/protocols/lisp/msg/src/main/java/org/onosproject/lisp/msg/protocols/DefaultLispLocatorRecord.java
@@ -19,6 +19,7 @@
 import io.netty.buffer.ByteBuf;
 import org.onlab.util.ByteOperator;
 import org.onosproject.lisp.msg.exceptions.LispParseError;
+import org.onosproject.lisp.msg.exceptions.LispReaderException;
 import org.onosproject.lisp.msg.types.LispAfiAddress;
 
 import static com.google.common.base.MoreObjects.toStringHelper;
@@ -222,7 +223,7 @@
         private static final int ROUTED_INDEX = 0;
 
         @Override
-        public LispLocatorRecord readFrom(ByteBuf byteBuf) throws LispParseError {
+        public LispLocatorRecord readFrom(ByteBuf byteBuf) throws LispParseError, LispReaderException {
 
             // priority -> 8 bits
             byte priority = (byte) byteBuf.readUnsignedByte();
@@ -250,7 +251,7 @@
             // routed flag -> 1 bit
             boolean routed = ByteOperator.getBit(flags, ROUTED_INDEX);
 
-            // TODO: de-serialize ITR-RLOC AFI and address
+            LispAfiAddress address = new LispAfiAddress.AfiAddressReader().readFrom(byteBuf);
 
             return new DefaultLocatorRecordBuilder()
                         .withPriority(priority)
@@ -260,6 +261,7 @@
                         .withLocalLocator(localLocator)
                         .withRlocProbed(rlocProbed)
                         .withRouted(routed)
+                        .withLocatorAfi(address)
                         .build();
         }
     }
