diff --git a/src/main/java/net/onrc/onos/apps/proxyarp/PacketOutNotification.java b/src/main/java/net/onrc/onos/apps/proxyarp/PacketOutNotification.java
index c0b56a7..a3cbb28 100644
--- a/src/main/java/net/onrc/onos/apps/proxyarp/PacketOutNotification.java
+++ b/src/main/java/net/onrc/onos/apps/proxyarp/PacketOutNotification.java
@@ -1,6 +1,7 @@
 package net.onrc.onos.apps.proxyarp;
 
 import java.io.Serializable;
+import java.util.Arrays;
 
 /**
  * A PacketOutNotification contains data sent between ONOS instances that
@@ -24,6 +25,6 @@
     }
 
     public PacketOutNotification(byte[] packet) {
-        this.packet = packet;
+        this.packet = Arrays.copyOf(packet, packet.length);
     }
 }
diff --git a/src/main/java/net/onrc/onos/apps/proxyarp/ProxyArpManager.java b/src/main/java/net/onrc/onos/apps/proxyarp/ProxyArpManager.java
index 4691149..017b260 100644
--- a/src/main/java/net/onrc/onos/apps/proxyarp/ProxyArpManager.java
+++ b/src/main/java/net/onrc/onos/apps/proxyarp/ProxyArpManager.java
@@ -434,6 +434,9 @@
 
     @Override
     public Command receive(IOFSwitch sw, OFMessage msg, FloodlightContext cntx) {
+        if (!(msg instanceof OFPacketIn)) {
+            return Command.CONTINUE;
+        }
 
         OFPacketIn pi = (OFPacketIn) msg;
 
@@ -642,10 +645,17 @@
 
         byte[] senderIPAddress = zeroIpv4;
         Interface intf = configService.getOutgoingInterface(ipAddress);
-        if (intf != null) {
-            senderIPAddress = intf.getIpAddress().getAddress();
+        if (intf == null) {
+            // TODO handle the case where the controller needs to send an ARP
+            // request but there's not IP configuration. In this case the
+            // request should be broadcast out all edge ports in the network.
+            log.warn("Sending ARP requests with default configuration "
+                    + "not supported");
+            return;
         }
 
+        senderIPAddress = intf.getIpAddress().getAddress();
+
         arpRequest.setSenderProtocolAddress(senderIPAddress);
 
         Ethernet eth = new Ethernet();
