diff --git a/receiver/src/data_cache.cpp b/receiver/src/data_cache.cpp
index 8d78334bb80f4c62a668922a24c7f5a7eec2c5c8..8355ba2b3c90e530bf2d61e6affe59e6c2fe8f89 100644
--- a/receiver/src/data_cache.cpp
+++ b/receiver/src/data_cache.cpp
@@ -116,8 +116,9 @@ bool DataCache::CleanOldSlots(uint64_t size) {
         if (meta_[i]->lock > 0) return false;
     }
 
-    meta_.erase(meta_.begin(), meta_.begin() + last_del + 1);
-
+    if (last_del >=0) {
+     meta_.erase(meta_.begin(), meta_.begin() + last_del + 1);
+    }
     return true;
 }
 
@@ -134,4 +135,4 @@ bool DataCache::UnlockSlot(CacheMeta* meta) {
     return true;
 }
 
-}
\ No newline at end of file
+}