diff --git a/src/plugins/debugger/gdb/symbian.cpp b/src/plugins/debugger/gdb/symbian.cpp
index 636c83da85eb54a9b1af3156265ab5bcc8385c58..3c7555e0a00ff363d3e4d60c91f2806e14ee733c 100644
--- a/src/plugins/debugger/gdb/symbian.cpp
+++ b/src/plugins/debugger/gdb/symbian.cpp
@@ -203,9 +203,10 @@ Snapshot::Snapshot()
 
 void Snapshot::reset()
 {
-    for (Memory::Iterator it = memory.begin(); it != memory.end(); ++it) {
+    for (Memory::Iterator it = memory.begin(); it != memory.end(); ) {
         if (isReadOnly(it.key())) {
             MEMORY_DEBUG("KEEPING READ-ONLY RANGE" << it.key());
+            ++it;
         } else {
             it = memory.erase(it);
         }