diff --git a/VERSION b/VERSION
index 4a36342..05d78bc 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-3.0.0
+3.0.1-dev
diff --git a/internal/pkg/core/openolt_flowmgr.go b/internal/pkg/core/openolt_flowmgr.go
index b936a90..e1bc9aa 100644
--- a/internal/pkg/core/openolt_flowmgr.go
+++ b/internal/pkg/core/openolt_flowmgr.go
@@ -1940,7 +1940,7 @@
 }
 
 // nolint: gocyclo
-func (f *OpenOltFlowMgr) clearFlowFromResourceManager(ctx context.Context, flow *ofp.OfpFlowStats, flowDirection string) error {
+func (f *OpenOltFlowMgr) clearFlowFromDeviceAndResourceManager(ctx context.Context, flow *ofp.OfpFlowStats, flowDirection string) error {
 	var flowInfo *rsrcMgr.FlowInfo
 	logger.Infow(ctx, "clear-flow-from-resource-manager",
 		log.Fields{
@@ -2047,7 +2047,9 @@
 			}
 
 			keySymm := subscriberDataPathFlowIDKey{intfID: Intf, onuID: uint32(onuID), uniID: uint32(uniID), direction: inverseDirection, tpID: tpID}
+			f.subscriberDataPathFlowIDMapLock.Lock()
 			delete(f.subscriberDataPathFlowIDMap, keySymm)
+			f.subscriberDataPathFlowIDMapLock.Unlock()
 		}
 	}
 	return nil
@@ -2077,7 +2079,7 @@
 
 	if flows.HasGroup(flow) {
 		direction = Multicast
-		return f.clearFlowFromResourceManager(ctx, flow, direction)
+		return f.clearFlowFromDeviceAndResourceManager(ctx, flow, direction)
 	} else if IsUpstream(actionInfo[Output].(uint32)) {
 		direction = Upstream
 	} else {
@@ -2093,7 +2095,7 @@
 
 	// Serialize flow removes on a per subscriber basis
 	if f.perUserFlowHandleLock.TryLock(userKey) {
-		err = f.clearFlowFromResourceManager(ctx, flow, direction) //TODO: Take care of the limitations
+		err = f.clearFlowFromDeviceAndResourceManager(ctx, flow, direction)
 		f.perUserFlowHandleLock.Unlock(userKey)
 	} else {
 		// Ideally this should never happen
