diff --git a/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalPathIntentInstaller.java b/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalPathIntentInstaller.java
index f24916f..637ebeb 100644
--- a/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalPathIntentInstaller.java
+++ b/core/net/src/main/java/org/onlab/onos/net/intent/impl/OpticalPathIntentInstaller.java
@@ -109,7 +109,7 @@
             }
 
             treatmentBuilder.setOutput(link.src().port());
-            //treatmentBuilder.setLambda(la.toInt());
+            treatmentBuilder.setLambda((short) la.toInt());
 
             FlowRule rule = new DefaultFlowRule(prev.deviceId(),
                     selectorBuilder.build(),
@@ -122,7 +122,7 @@
 
             prev = link.dst();
             selectorBuilder.matchInport(link.dst().port());
-            //selectorBuilder.setLambda(la.toInt());
+            selectorBuilder.matchLambda((short) la.toInt());
         }
 
         // build the last T port rule
@@ -213,7 +213,7 @@
             }
 
             treatmentBuilder.setOutput(link.src().port());
-            //treatmentBuilder.setLambda(la.toInt());
+            treatmentBuilder.setLambda((short) la.toInt());
 
             FlowRule rule = new DefaultFlowRule(prev.deviceId(),
                     selectorBuilder.build(),
@@ -226,7 +226,7 @@
 
             prev = link.dst();
             selectorBuilder.matchInport(link.dst().port());
-            //selectorBuilder.setLambda(la.toInt());
+            selectorBuilder.matchLambda((short) la.toInt());
         }
 
         // build the last T port rule
