diff --git a/core/api/src/main/java/org/onlab/onos/net/intent/OpticalPathIntent.java b/core/api/src/main/java/org/onlab/onos/net/intent/OpticalPathIntent.java
index 372da91..edf3d5c 100644
--- a/core/api/src/main/java/org/onlab/onos/net/intent/OpticalPathIntent.java
+++ b/core/api/src/main/java/org/onlab/onos/net/intent/OpticalPathIntent.java
@@ -5,11 +5,13 @@
 import org.onlab.onos.ApplicationId;
 import org.onlab.onos.net.ConnectPoint;
 import org.onlab.onos.net.Link;
+import org.onlab.onos.net.NetworkResource;
 import org.onlab.onos.net.Path;
 
 import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableSet;
 
-public class OpticalPathIntent extends ConnectivityIntent {
+public class OpticalPathIntent extends Intent {
 
     private final ConnectPoint src;
     private final ConnectPoint dst;
@@ -21,7 +23,8 @@
             ConnectPoint dst,
             Path path) {
         super(id(OpticalPathIntent.class, src, dst),
-              appId, resources(path.links()), null, null);
+              appId,
+              ImmutableSet.<NetworkResource>copyOf(path.links()));
         this.src = src;
         this.dst = dst;
         this.path = path;
