diff --git a/src/main/java/net/floodlightcontroller/core/internal/Controller.java b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
index af3353f..2152875 100644
--- a/src/main/java/net/floodlightcontroller/core/internal/Controller.java
+++ b/src/main/java/net/floodlightcontroller/core/internal/Controller.java
@@ -1216,6 +1216,14 @@
         } else {
             log.info("Using OF1.0 pipeline for the CPqD software switch");
         }
+
+        String disableOvsClassification =
+                configParams.get("disableOvsClassification");
+        if (disableOvsClassification != null &&
+                disableOvsClassification.equalsIgnoreCase("true")) {
+            DriverManager.setDisableOvsClassification(true);
+            log.info("OVS switches will be classified as default switches");
+        }
     }
 
     /**
diff --git a/src/main/java/net/onrc/onos/core/drivermanager/DriverManager.java b/src/main/java/net/onrc/onos/core/drivermanager/DriverManager.java
index e212655..5c967ed 100644
--- a/src/main/java/net/onrc/onos/core/drivermanager/DriverManager.java
+++ b/src/main/java/net/onrc/onos/core/drivermanager/DriverManager.java
@@ -20,6 +20,11 @@
     // single table with packet-ins.
     private static boolean cpqdUsePipeline13 = false;
 
+    // This flag can be set to prevent the driver manager from classifying
+    // switches as OVS switches (and thereby the default switch implementation
+    // will be used).
+    private static boolean disableOvsClassification = false;
+
     /**
      * Return an IOFSwitch object based on switch's manufacturer description
      * from OFDescStatsReply.
@@ -37,7 +42,7 @@
             return new OFSwitchImplCPqD13(desc, cpqdUsePipeline13);
         }
 
-        if (vendor.startsWith("Nicira") &&
+        if (!disableOvsClassification && vendor.startsWith("Nicira") &&
                 hw.startsWith("Open vSwitch")) {
             if (ofv == OFVersion.OF_10) {
                 return new OFSwitchImplOVS10(desc);
@@ -71,4 +76,22 @@
     public static void setConfigForCpqd(boolean usePipeline13) {
         cpqdUsePipeline13 = usePipeline13;
     }
+
+    /**
+     * Sets the configuration parameter which determines whether switches can
+     * be classified as OVS switches or as the default switch implementation.
+     *
+     * Our use case for this is when running OVS under the Flow Space Firewall
+     * (FSFW). The FSFW relays the switch desc reply (containing OVS
+     * description) from the switch to the controller. This causes us to
+     * classify the fake FSFW switch as OVS, however the FSFW switch doesn't
+     * support Nicira role requests and it breaks if we try to send them.
+     * Our workaround is to disable classifying switches as OVS.
+     *
+     * @param disableOvsClassificationFlag whether to use OVS switches or not
+     */
+    public static void setDisableOvsClassification(
+            boolean disableOvsClassificationFlag) {
+        disableOvsClassification = disableOvsClassificationFlag;
+    }
 }
