diff --git a/src/main/java/org.onosproject.xran/entities/RnibCell.java b/src/main/java/org.onosproject.xran/entities/RnibCell.java
index 8b1feb0..f3f41d9 100644
--- a/src/main/java/org.onosproject.xran/entities/RnibCell.java
+++ b/src/main/java/org.onosproject.xran/entities/RnibCell.java
@@ -308,8 +308,9 @@
         }
 
         public long getTimesincelastupdate() {
-            return timesincelastupdate.unixTimestamp();
+            return new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp();
         }
+
         public void setTimesincelastupdate(WallClockTimestamp timesincelastupdate) {
             this.timesincelastupdate = timesincelastupdate;
         }
@@ -319,7 +320,7 @@
             return "PrbUsageContainer{" +
                     "primary=" + primary +
                     ", secondary=" + secondary +
-                    ", timesincelastupdate=" + timesincelastupdate +
+                    ", timesincelastupdate=" + (new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp()) +
                     '}';
         }
     }
diff --git a/src/main/java/org.onosproject.xran/entities/RnibLink.java b/src/main/java/org.onosproject.xran/entities/RnibLink.java
index 70ffe4f..f3d04e7 100644
--- a/src/main/java/org.onosproject.xran/entities/RnibLink.java
+++ b/src/main/java/org.onosproject.xran/entities/RnibLink.java
@@ -391,7 +391,7 @@
             }
 
             public long getTimesincelastupdate() {
-                return timesincelastupdate.unixTimestamp();
+                return new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp();
             }
 
             public void setTimesincelastupdate(WallClockTimestamp timesincelastupdate) {
@@ -403,7 +403,7 @@
                 return "RX{" +
                         "RSRP=" + RSRP +
                         ", RSRQ=" + RSRQ +
-                        ", timesincelastupdate=" + timesincelastupdate +
+                        ", timesincelastupdate=" + (new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp()) +
                         '}';
             }
         }
@@ -454,7 +454,7 @@
             }
 
             public long getTimesincelastupdate() {
-                return timesincelastupdate.unixTimestamp();
+                return new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp();
             }
 
             public void setTimesincelastupdate(WallClockTimestamp timesincelastupdate) {
@@ -467,7 +467,7 @@
                         "Hist=" + Hist +
                         ", Mode=" + Mode +
                         ", Mean=" + Mean +
-                        ", timesincelastupdate=" + timesincelastupdate +
+                        ", timesincelastupdate=" + (new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp()) +
                         '}';
             }
         }
@@ -507,7 +507,7 @@
             }
 
             public long getTimesincelastupdate() {
-                return timesincelastupdate.unixTimestamp();
+                return new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp();
             }
 
             public void setTimesincelastupdate(WallClockTimestamp timesincelastupdate) {
@@ -519,7 +519,7 @@
                 return "MCS{" +
                         "dl=" + dl +
                         ", ul=" + ul +
-                        ", timesincelastupdate=" + timesincelastupdate +
+                        ", timesincelastupdate=" + (new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp()) +
                         '}';
             }
         }
@@ -560,7 +560,7 @@
         }
 
         public long getTimesincelastupdate() {
-            return timesincelastupdate.unixTimestamp();
+            return new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp();
         }
 
         public void setTimesincelastupdate(WallClockTimestamp timesincelastupdate) {
@@ -573,7 +573,7 @@
             return "PDCPThroughput{" +
                     "dl=" + dl +
                     ", ul=" + ul +
-                    ", timesincelastupdate=" + timesincelastupdate +
+                    ", timesincelastupdate=" + (new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp()) +
                     '}';
         }
     }
@@ -612,7 +612,7 @@
         }
 
         public long getTimesincelastupdate() {
-            return timesincelastupdate.unixTimestamp();
+            return new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp();
         }
 
         public void setTimesincelastupdate(WallClockTimestamp timesincelastupdate) {
@@ -624,7 +624,7 @@
             return "PDCPPacketDelay{" +
                     "dl=" + dl +
                     ", ul=" + ul +
-                    ", timesincelastupdate=" + timesincelastupdate +
+                    ", timesincelastupdate=" + (new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp()) +
                     '}';
         }
     }
@@ -663,7 +663,7 @@
         }
 
         public long getTimesincelastupdate() {
-            return timesincelastupdate.unixTimestamp();
+            return new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp();
         }
 
         public void setTimesincelastupdate(WallClockTimestamp timesincelastupdate) {
@@ -675,7 +675,7 @@
             return "ResourceUsage{" +
                     "dl=" + dl +
                     ", ul=" + ul +
-                    ", timesincelastupdate=" + timesincelastupdate +
+                    ", timesincelastupdate=" + (new WallClockTimestamp().unixTimestamp() - timesincelastupdate.unixTimestamp()) +
                     '}';
         }
     }
