diff --git a/src/register/prdfCaptureData.C b/src/register/prdfCaptureData.C
index 69de4e6..84f1017 100755
--- a/src/register/prdfCaptureData.C
+++ b/src/register/prdfCaptureData.C
@@ -304,10 +304,10 @@
         // Read chip Handle.
         memcpy(&l_chipHuid , i_flatdata,l_huidSize );
         i_flatdata += l_huidSize ;
-        TargetHandle_t l_pchipHandle  =NULL;
+        TargetHandle_t l_pchipHandle  =nullptr;
         l_chipHuid =  ntohl(l_chipHuid);
         l_pchipHandle = PlatServices::getTarget(l_chipHuid );
-        if(NULL ==l_pchipHandle)
+        if(nullptr ==l_pchipHandle)
         {
             continue;
         }
@@ -372,9 +372,9 @@
 // copy ctor for Data class
 CaptureData::Data::Data(const Data & d):
 chipHandle(d.chipHandle), address(d.address),
-dataByteLength(d.dataByteLength), dataPtr(NULL)
+dataByteLength(d.dataByteLength), dataPtr(nullptr)
 {
-    if(d.dataPtr != NULL)
+    if(d.dataPtr != nullptr)
     {
         dataPtr = new uint8_t[dataByteLength];
 
@@ -387,12 +387,12 @@
     chipHandle = d.chipHandle;
     address = d.address;
     dataByteLength = d.dataByteLength;
-    if(dataPtr != NULL)
+    if(dataPtr != nullptr)
     {
         delete[]dataPtr;
-        dataPtr = NULL;
+        dataPtr = nullptr;
     }
-    if(d.dataPtr != NULL)
+    if(d.dataPtr != nullptr)
     {
         dataPtr = new uint8_t[dataByteLength];
         memcpy(dataPtr, d.dataPtr, dataByteLength);
