diff --git a/src/main/java/net/onrc/onos/core/packetservice/PacketModule.java b/src/main/java/net/onrc/onos/core/packetservice/PacketModule.java
index 63143cd..ca4c4b1 100644
--- a/src/main/java/net/onrc/onos/core/packetservice/PacketModule.java
+++ b/src/main/java/net/onrc/onos/core/packetservice/PacketModule.java
@@ -54,7 +54,6 @@
     private Topology topology;
     private IDatagridService datagrid;
     private IFlowPusherService flowPusher;
-    private OFFactory factory;
 
     private IEventChannel<Long, PacketOutNotification> packetOutEventChannel;
 
@@ -221,7 +220,6 @@
                 .getTopology();
         datagrid = context.getServiceImpl(IDatagridService.class);
         flowPusher = context.getServiceImpl(IFlowPusherService.class);
-        factory = floodlightProvider.getOFMessageFactory_10();
     }
 
     @Override
@@ -243,6 +241,8 @@
                 continue;
             }
 
+            OFFactory factory = sw.getFactory();
+
             List<OFAction> actions = new ArrayList<>();
             for (Short port : outPorts.get(dpid)) {
                 actions.add(factory.actions().output(OFPort.of(port), Short.MAX_VALUE));
