diff --git a/apps/pce/app/src/main/java/org/onosproject/pce/cli/PceSetupPathCommand.java b/apps/pce/app/src/main/java/org/onosproject/pce/cli/PceSetupPathCommand.java
index a14e6e1..7bd7970 100644
--- a/apps/pce/app/src/main/java/org/onosproject/pce/cli/PceSetupPathCommand.java
+++ b/apps/pce/app/src/main/java/org/onosproject/pce/cli/PceSetupPathCommand.java
@@ -17,6 +17,7 @@
 
 import static org.slf4j.LoggerFactory.getLogger;
 
+import java.util.Collection;
 import java.util.List;
 import java.util.LinkedList;
 
@@ -26,6 +27,8 @@
 
 import org.onlab.util.DataRateUnit;
 import org.onosproject.cli.AbstractShellCommand;
+import org.onosproject.incubator.net.tunnel.Tunnel;
+import org.onosproject.incubator.net.tunnel.TunnelService;
 import org.onosproject.net.DeviceId;
 import org.onosproject.net.intent.constraint.BandwidthConstraint;
 import org.onosproject.net.intent.Constraint;
@@ -71,6 +74,7 @@
         log.info("executing pce-setup-path");
 
         PceService service = get(PceService.class);
+        TunnelService tunnelService = get(TunnelService.class);
 
         DeviceId srcDevice = DeviceId.deviceId(src);
         DeviceId dstDevice = DeviceId.deviceId(dst);
@@ -85,6 +89,15 @@
         }
         LspType lspType = LspType.values()[type];
 
+        //Validating tunnel name, duplicated tunnel names not allowed
+        Collection<Tunnel> existingTunnels = tunnelService.queryTunnel(Tunnel.Type.MPLS);
+        for (Tunnel t : existingTunnels) {
+            if (t.tunnelName().toString().equals(name)) {
+                error("Path creation failed, Tunnel name already exists");
+                return;
+            }
+        }
+
         // Add bandwidth
         // bandwidth default data rate unit is in BPS
         if (bandwidth != 0.0) {
