diff --git a/syncmap/map_bench_test.go b/syncmap/map_bench_test.go
index b95cd00..b279b4f 100644
--- a/syncmap/map_bench_test.go
+++ b/syncmap/map_bench_test.go
@@ -204,12 +204,10 @@
 				m.Load(i)
 
 				if i%mapSize == 0 {
-					var key int
 					m.Range(func(k, _ interface{}) bool {
-						key = k.(int)
+						m.Delete(k)
 						return false
 					})
-					m.Delete(key)
 					m.Store(i, i)
 				}
 			}
diff --git a/syncmap/map_reference_test.go b/syncmap/map_reference_test.go
index f3a4977..923c51b 100644
--- a/syncmap/map_reference_test.go
+++ b/syncmap/map_reference_test.go
@@ -64,8 +64,17 @@
 
 func (m *RWMutexMap) Range(f func(key, value interface{}) (shouldContinue bool)) {
 	m.mu.RLock()
-	defer m.mu.RUnlock()
-	for k, v := range m.dirty {
+	keys := make([]interface{}, 0, len(m.dirty))
+	for k := range m.dirty {
+		keys = append(keys, k)
+	}
+	m.mu.RUnlock()
+
+	for _, k := range keys {
+		v, ok := m.Load(k)
+		if !ok {
+			continue
+		}
 		if !f(k, v) {
 			break
 		}
