diff --git a/core/src/main/scala/org/apache/spark/storage/memory/MemoryStore.scala b/core/src/main/scala/org/apache/spark/storage/memory/MemoryStore.scala
index 7c2bb8d6fa27375f796d14768f0b697c56388726..f991380ecebc09ddb454f2abddcd44946fa8d4f5 100644
--- a/core/src/main/scala/org/apache/spark/storage/memory/MemoryStore.scala
+++ b/core/src/main/scala/org/apache/spark/storage/memory/MemoryStore.scala
@@ -397,7 +397,9 @@ private[spark] class MemoryStore(
   def remove(blockId: BlockId): Boolean = memoryManager.synchronized {
     val entry = entries.synchronized {
       val origEntry = entries.get(blockId)
-      blockIdAndSizeSet -= new OurBlockIdAndSizeType(blockId, origEntry.size)
+      if (origEntry != null) {
+        blockIdAndSizeSet -= new OurBlockIdAndSizeType(blockId, origEntry.size)
+      }
       entries.remove(blockId)
     }
     if (entry != null) {