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 2593a59..8410b43 100644
--- a/src/main/java/net/onrc/onos/apps/proxyarp/ProxyArpManager.java
+++ b/src/main/java/net/onrc/onos/apps/proxyarp/ProxyArpManager.java
@@ -32,7 +32,7 @@
 import net.onrc.onos.core.topology.ITopologyService;
 import net.onrc.onos.core.topology.Port;
 import net.onrc.onos.core.topology.Switch;
-import net.onrc.onos.core.topology.Topology;
+import net.onrc.onos.core.topology.MutableTopology;
 import net.onrc.onos.core.util.Dpid;
 import net.onrc.onos.core.util.PortNumber;
 import net.onrc.onos.core.util.SwitchPort;
@@ -67,7 +67,7 @@
     private IRestApiService restApi;
 
     private ITopologyService topologyService;
-    private Topology topology;
+    private MutableTopology mutableTopology;
     private IPacketService packetService;
 
     private short vlan;
@@ -283,7 +283,7 @@
 
         restApi.addRestletRoutable(new ArpWebRoutable());
         packetService.registerPacketListener(this);
-        topology = topologyService.getTopology();
+        mutableTopology = topologyService.getTopology();
 
         //
         // Event notification setup: channels and event handlers
@@ -432,10 +432,10 @@
         arpRequests.put(target, new ArpRequest(
                 new HostArpRequester(arp, dpid, inPort), false));
 
-        topology.acquireReadLock();
-        Host targetHost = topology.getHostByMac(
+        mutableTopology.acquireReadLock();
+        Host targetHost = mutableTopology.getHostByMac(
                 MACAddress.valueOf(arp.getTargetHardwareAddress()));
-        topology.releaseReadLock();
+        mutableTopology.releaseReadLock();
 
         if (targetHost == null) {
             if (log.isTraceEnabled()) {
