diff --git a/internal/pkg/avcfg/omci_vlan_config.go b/internal/pkg/avcfg/omci_vlan_config.go
index 9b0b8b9..1afc480 100755
--- a/internal/pkg/avcfg/omci_vlan_config.go
+++ b/internal/pkg/avcfg/omci_vlan_config.go
@@ -914,8 +914,8 @@
 func (oFsm *UniVlanConfigFsm) removeRuleComplete(ctx context.Context,
 	aUniFlowParams cmn.UniVlanFlowParams, aCookie uint64, respChan *chan error) bool {
 	pConfigVlanStateBaseFsm := oFsm.PAdaptFsm.PFsm
-	var cancelPendingConfig bool = false
-	var loRemoveParams uniRemoveVlanFlowParams = uniRemoveVlanFlowParams{}
+	var cancelPendingConfig = false
+	var loRemoveParams = uniRemoveVlanFlowParams{}
 	logger.Debugw(ctx, "UniVlanConfigFsm flow removal - full flow removal", log.Fields{
 		"device-id": oFsm.deviceID})
 	//rwCore flow recovery may be the reason for this delete, in which case the flowToBeDeleted may be the same
@@ -1019,15 +1019,16 @@
 	for flow, storedUniFlowParams := range oFsm.uniVlanFlowParamsSlice {
 		// if UniFlowParams exists, cookieSlice should always have at least one element
 		cookieSliceLen := len(storedUniFlowParams.CookieSlice)
-		if cookieSliceLen == 1 {
+		switch cookieSliceLen {
+		case 1:
 			if storedUniFlowParams.CookieSlice[0] == aCookie {
 				cookieFound = true
 			}
-		} else if cookieSliceLen == 0 {
+		case 0:
 			errStr := "UniVlanConfigFsm unexpected cookie slice length 0  - removal in uniVlanFlowParamsSlice aborted"
 			logger.Errorw(ctx, errStr, log.Fields{"device-id": oFsm.deviceID})
 			return errors.New(errStr)
-		} else {
+		default:
 			errStr := "UniVlanConfigFsm flow removal unexpected cookie slice length, but rule removal continued"
 			logger.Errorw(ctx, errStr, log.Fields{
 				"cookieSliceLen": len(oFsm.uniVlanFlowParamsSlice), "device-id": oFsm.deviceID})
@@ -1722,10 +1723,11 @@
 			}
 
 			oFsm.mutexFlowParams.Lock()
-			if loVlanEntryClear == 1 {
+			switch loVlanEntryClear {
+			case 1:
 				oFsm.vlanFilterList[0] = 0 //first entry is the only that can contain the previous only-one element
 				oFsm.numVlanFilterEntries = 0
-			} else if loVlanEntryClear == 2 {
+			case 2:
 				// new VlanFilterList should be one entry smaller now - copy from last configured entry
 				// this loop now includes the 0 element on previous last valid entry
 				for i := uint8(0); i <= oFsm.numVlanFilterEntries; i++ {
