diff --git a/src/test/dhcpl2relay/dhcpl2relayTest.py b/src/test/dhcpl2relay/dhcpl2relayTest.py
index e2cceb5..bd98557 100644
--- a/src/test/dhcpl2relay/dhcpl2relayTest.py
+++ b/src/test/dhcpl2relay/dhcpl2relayTest.py
@@ -142,8 +142,8 @@
 
     def tearDown(self):
         super(dhcpl2relay_exchange, self).tearDown()
-        OnosCtrl.uninstall_app(cls.dhcpl2_app_file)
-        OnosCtrl.uninstall_app(cls.sadis_app_file)
+        OnosCtrl.uninstall_app(self.dhcpl2_app_file)
+        OnosCtrl.uninstall_app(self.sadis_app_file)
 
     @classmethod
     def tearDownClass(cls):
@@ -155,8 +155,9 @@
         OnosCtrl.uninstall_app(cls.dhcpl2_app_file)
         OnosCtrl.uninstall_app(cls.sadis_app_file)
         cls.onos_ctrl.deactivate()
+        OnosCtrl(cls.app).deactivate()
         #cls.dhcpd_stop()
-        cls.dhcp_l2_relay_cleanup()
+        #cls.dhcp_l2_relay_cleanup()
 
     @classmethod
     def dhcp_l2_relay_setup(cls):
@@ -233,7 +234,7 @@
     def cord_l2_relay_load(cls):
         OnosCtrl.uninstall_app(cls.dhcpl2_app_file)
         #relay_device_map = '{}/{}'.format(cls.relay_device_id, cls.relay_interface_port)
-        relay_device_map = "{}/veth42".format(cls.relay_device_id)
+        relay_device_map = "{}/12".format(cls.relay_device_id)
         print relay_device_map
         dhcp_dict = { "apps" : { "org.opencord.dhcpl2relay" : {"dhcpl2relay" :
                                    {"dhcpserverConnectPoint":[relay_device_map]}
diff --git a/src/test/setup/cord-test.py b/src/test/setup/cord-test.py
index 789e724..c54594a 100755
--- a/src/test/setup/cord-test.py
+++ b/src/test/setup/cord-test.py
@@ -63,14 +63,14 @@
     dhcp_data_dir = os.path.join(tester_base, '..', 'setup')
     default_config = { 'default-lease-time' : 600, 'max-lease-time' : 7200, }
     default_options = [ ('subnet-mask', '255.255.255.0'),
-                     ('broadcast-address', '192.168.1.255'),
-                     ('domain-name-servers', '192.168.1.1'),
+                     ('broadcast-address', '192.168.100.255'),
+                     ('domain-name-servers', '192.168.100.1'),
                      ('domain-name', '"mydomain.cord-tester"'),
                    ]
-    default_subnet_config = [ ('192.168.1.2',
+    default_subnet_config = [ ('192.168.100.2',
 '''
-subnet 192.168.1.0 netmask 255.255.255.0 {
-    range 192.168.1.10 192.168.1.100;
+subnet 192.168.100.0 netmask 255.255.255.0 {
+    range 192.168.100.10 192.168.100.100;
 }
 '''), ]
     host_ip_map = {}
