diff --git a/redfish-core/include/event_service_manager.hpp b/redfish-core/include/event_service_manager.hpp
index 2ea7430..ba2450d 100644
--- a/redfish-core/include/event_service_manager.hpp
+++ b/redfish-core/include/event_service_manager.hpp
@@ -976,17 +976,19 @@
 
     void deleteSseSubscription(const crow::sse_socket::Connection& thisConn)
     {
-        for (const auto& it : subscriptionsMap)
+        for (auto it = subscriptionsMap.begin(); it != subscriptionsMap.end();)
         {
-            std::shared_ptr<Subscription> entry = it.second;
+            std::shared_ptr<Subscription> entry = it->second;
             bool entryIsThisConn = entry->matchSseId(thisConn);
             if (entryIsThisConn)
             {
                 persistent_data::EventServiceStore::getInstance()
                     .subscriptionsConfigMap.erase(
-                        it.second->getSubscriptionId());
+                        it->second->getSubscriptionId());
+                it = subscriptionsMap.erase(it);
                 return;
             }
+            it++;
         }
     }
 
