diff --git a/src/test/setup/cord-test.py b/src/test/setup/cord-test.py
index b3dc28d..ab74ab2 100755
--- a/src/test/setup/cord-test.py
+++ b/src/test/setup/cord-test.py
@@ -18,7 +18,9 @@
 import os,sys,time,socket,errno
 import shutil, platform, re
 utils_dir = os.path.join( os.path.dirname(os.path.realpath(__file__)), '../utils')
+cli_dir = os.path.join( os.path.dirname(os.path.realpath(__file__)), '../cli')
 sys.path.append(utils_dir)
+sys.path.append(cli_dir)
 sys.path.insert(1, '/usr/local/lib/python2.7/dist-packages')
 from OnosCtrl import OnosCtrl, get_mac
 from OltConfig import OltConfig
@@ -512,14 +514,11 @@
             print('Specify ONOS ip using \"-e\" option when running the cord-tester on cord node')
             sys.exit(1)
         if not service_profile:
-            print('Specify service profile location for the ONOS cord instance. Eg: $HOME/service-profile/cord-pod')
+            print('Specify service profile for the ONOS cord instance. Eg: rcord')
             sys.exit(1)
         if not synchronizer:
             print('Specify synchronizer to use for the ONOS cord instance. Eg: vtn, fabric, cord')
             sys.exit(1)
-        if not os.access(service_profile, os.F_OK):
-            print('Service profile location for ONOS cord instance does not exist')
-            sys.exit(1)
         onos_cord = OnosCord(onos_ip, onos_cord_loc, service_profile, synchronizer)
 
     try:
@@ -779,14 +778,11 @@
             print('Specify ONOS ip using \"-e\" option when running the cord-tester on cord node')
             sys.exit(1)
         if not service_profile:
-            print('Specify service profile location for the ONOS cord instance. Eg: $HOME/service-profile/cord-pod')
+            print('Specify service profile for the ONOS cord instance. Eg: rcord')
             sys.exit(1)
         if not synchronizer:
             print('Specify synchronizer to use for the ONOS cord instance. Eg: vtn, fabric, cord')
             sys.exit(1)
-        if not os.access(service_profile, os.F_OK):
-            print('Service profile location for ONOS cord instance does not exist')
-            sys.exit(1)
         onos_cord = OnosCord(onos_ip, onos_cord_loc, service_profile, synchronizer)
 
     Container.IMAGE_PREFIX = test_manifest.image_prefix
diff --git a/src/test/setup/manifest-cord.json b/src/test/setup/manifest-cord.json
index 5fddc11..28ec418 100644
--- a/src/test/setup/manifest-cord.json
+++ b/src/test/setup/manifest-cord.json
@@ -5,7 +5,7 @@
     "onos_image": "onosproject/onos:latest",
     "onos" : "172.19.0.2",
     "onos_cord" : "/home/vagrant/onos-cord",
-    "service_profile" : "/opt/cord/orchestration/service-profile/cord-pod",
+    "service_profile" : "rcord",
     "synchronizer" : "vtn",
     "docker_network" : "onoscord_default",
     "log_level" : "INFO",
diff --git a/src/test/setup/manifest-fabric.json b/src/test/setup/manifest-fabric.json
index b09dd91..56c2559 100644
--- a/src/test/setup/manifest-fabric.json
+++ b/src/test/setup/manifest-fabric.json
@@ -5,7 +5,7 @@
     "onos_image": "onosproject/onos:latest",
     "onos" : "172.20.0.2",
     "onos_cord" : "/home/vagrant/onos-fabric",
-    "service_profile" : "/opt/cord/orchestration/service-profile/cord-pod",
+    "service_profile" : "rcord",
     "synchronizer" : "fabric",
     "docker_network" : "onosfabric_default",
     "log_level" : "INFO",
