diff --git a/app/src/main/java/org/opencord/aaa/impl/PortBasedRadiusCommunicator.java b/app/src/main/java/org/opencord/aaa/impl/PortBasedRadiusCommunicator.java
index 4cdf958..8973a5f 100755
--- a/app/src/main/java/org/opencord/aaa/impl/PortBasedRadiusCommunicator.java
+++ b/app/src/main/java/org/opencord/aaa/impl/PortBasedRadiusCommunicator.java
@@ -259,13 +259,21 @@
             aaaManager.radiusOperationalStatusService.setStatusServerReqSent(false);
             return;
         }
-        ipToSnMap.put(deviceInfo.ipAddress(), serialNo);
+
         if (radiusPacket.getIdentifier() == RadiusOperationalStatusManager.AAA_REQUEST_ID_STATUS_REQUEST ||
                 radiusPacket.getIdentifier() == RadiusOperationalStatusManager.AAA_REQUEST_ID_FAKE_ACCESS_REQUEST) {
             aaaManager.radiusOperationalStatusService.setOutTimeInMillis(radiusPacket.getIdentifier());
         } else {
             aaaManager.aaaStatisticsManager.putOutgoingIdentifierToMap(radiusPacket.getIdentifier());
         }
+
+        Ip4Address ipAddress = deviceInfo.ipAddress();
+        if (ipAddress != null) {
+            ipToSnMap.put(ipAddress, serialNo);
+        } else {
+            log.warn("Cannot Map IpAddress to SerialNo : ipAddress = {}", ipAddress);
+        }
+
         // send the message out
         sendFromRadiusServerPort(pktCustomizer.
                 customizeEthernetIPHeaders(ethReply, inPkt));
