diff --git a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java
index 03af72e..b78328c 100644
--- a/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java
+++ b/apps/openstacknetworking/app/src/main/java/org/onosproject/openstacknetworking/impl/OpenstackSwitchingArpHandler.java
@@ -462,7 +462,16 @@
                     break;
                 case ARP_BROADCAST_MODE:
                     setDefaultArpRuleForBroadcastMode(osNode, install);
-                    osNetworkService.subnets().forEach(subnet -> setFakeGatewayArpRule(subnet, install, osNode));
+
+                    // we do not add fake gateway ARP rules for FLAT network
+                    // ARP packets generated by FLAT typed VM should not be
+                    // delegated to switch to handle
+                    osNetworkService.subnets().stream().filter(subnet ->
+                            osNetworkService.network(subnet.getNetworkId()) != null &&
+                                    osNetworkService.network(subnet.getNetworkId())
+                                            .getNetworkType() == NetworkType.FLAT)
+                                            .forEach(subnet ->
+                        setFakeGatewayArpRule(subnet, install, osNode));
                     break;
                 default:
                     log.warn("Invalid ARP mode {}. Please use either " +
