Flow loops: Installing the exact same loop twice leads to deletion of flow loop rules
1. Create a flow
2. Create a flow loop on src
3. Repeat the same request from previous step
**Expected:** Flow loop rules are just re-installed
**Actual:** Flow loop rules are removed. Switch validation shows missing rules

test: `"Attempt to create the exact same flowLoop twice just re-installs the rules"`
diff --git a/src-java/flowhs-topology/flowhs-storm-topology/src/main/java/org/openkilda/wfm/topology/flowhs/fsm/update/actions/UpdateFlowAction.java b/src-java/flowhs-topology/flowhs-storm-topology/src/main/java/org/openkilda/wfm/topology/flowhs/fsm/update/actions/UpdateFlowAction.java
index 922cc4d67..8b820d7b1 100644
--- a/src-java/flowhs-topology/flowhs-storm-topology/src/main/java/org/openkilda/wfm/topology/flowhs/fsm/update/actions/UpdateFlowAction.java
+++ b/src-java/flowhs-topology/flowhs-storm-topology/src/main/java/org/openkilda/wfm/topology/flowhs/fsm/update/actions/UpdateFlowAction.java
@@ -234,10 +234,10 @@ public class UpdateFlowAction extends NbTrackableAction<FlowUpdateFsm, State, Ev
     }
 
     private FlowLoopOperation detectFlowLoopOperation(RequestedFlow originalFlow, RequestedFlow targetFlow) {
-        if (originalFlow.getLoopSwitchId() == targetFlow.getLoopSwitchId()) {
+        if (originalFlow.getLoopSwitchId() == null && targetFlow.getLoopSwitchId() == null) {
             return FlowLoopOperation.NONE;
         }
-        if (originalFlow.getLoopSwitchId() != null) {
+        if (targetFlow.getLoopSwitchId() == null) {
             return FlowLoopOperation.DELETE;
         } else {
             return FlowLoopOperation.CREATE;
['src-java/flowhs-topology/flowhs-storm-topology/src/main/java/org/openkilda/wfm/topology/flowhs/fsm/update/actions/UpdateFlowAction.java']