diff --git a/src/main/java/net/onrc/onos/core/intent/runtime/PersistIntent.java b/src/main/java/net/onrc/onos/core/intent/runtime/PersistIntent.java
index 737aeae..e2b2917 100755
--- a/src/main/java/net/onrc/onos/core/intent/runtime/PersistIntent.java
+++ b/src/main/java/net/onrc/onos/core/intent/runtime/PersistIntent.java
@@ -17,8 +17,6 @@
 import net.onrc.onos.core.intent.IntentOperationList;
 import net.onrc.onos.core.registry.IControllerRegistryService;
 import net.onrc.onos.core.registry.IdBlock;
-import net.onrc.onos.core.topology.INetworkGraphService;
-import net.onrc.onos.core.topology.NetworkGraph;
 import net.onrc.onos.core.util.serializers.KryoFactory;
 
 import org.slf4j.Logger;
@@ -34,7 +32,6 @@
     private static final Logger log = LoggerFactory.getLogger(IntentResource.class);
     private long range = 10000L;
     private final IControllerRegistryService controllerRegistry;
-    NetworkGraph graph = null;
     private static final String INTENT_JOURNAL = "G:IntentJournal";
     private static final int VALUE_STORE_LIMIT = 1024 * 1024;
     private IKVTable table;
@@ -46,9 +43,8 @@
     private IdBlock idBlock = null;
 
 
-    public PersistIntent(final IControllerRegistryService controllerRegistry, INetworkGraphService ng) {
+    public PersistIntent(final IControllerRegistryService controllerRegistry) {
         this.controllerRegistry = controllerRegistry;
-        this.graph = ng.getNetworkGraph();
         table = DataStoreClient.getClient().getTable(INTENT_JOURNAL);
         stream = new ByteArrayOutputStream(1024);
         output = new Output(stream);
