diff --git a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/OpticalConnectivityIntentCompiler.java b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/OpticalConnectivityIntentCompiler.java
index 4f8527e..e99b56b 100644
--- a/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/OpticalConnectivityIntentCompiler.java
+++ b/core/net/src/main/java/org/onosproject/net/intent/impl/compiler/OpticalConnectivityIntentCompiler.java
@@ -31,6 +31,7 @@
 import org.onosproject.net.Link;
 import org.onosproject.net.OchPort;
 import org.onosproject.net.OchSignal;
+import org.onosproject.net.OchSignalType;
 import org.onosproject.net.OmsPort;
 import org.onosproject.net.Path;
 import org.onosproject.net.Port;
@@ -127,6 +128,8 @@
             // Create installable optical path intent
             LambdaResourceAllocation lambdaAlloc = getWavelength(path, linkAllocs);
             OchSignal ochSignal = getOchSignal(lambdaAlloc, omsPort.minFrequency(), omsPort.grid());
+            // Only support fixed grid for now
+            OchSignalType signalType = OchSignalType.FIXED_GRID;
 
             Intent newIntent = OpticalPathIntent.builder()
                     .appId(intent.appId())
@@ -134,6 +137,7 @@
                     .dst(intent.getDst())
                     .path(path)
                     .lambda(ochSignal)
+                    .signalType(signalType)
                     .build();
 
             return ImmutableList.of(newIntent);
