diff --git a/src/test/utils/Cluster.py b/src/test/utils/Cluster.py
index 1b3a05c..4f762ea 100644
--- a/src/test/utils/Cluster.py
+++ b/src/test/utils/Cluster.py
@@ -1697,7 +1697,7 @@
             cls.device_dict = { "devices" : {
                         "{}".format(did) : {
                               "basic" : {
-                                    "driver" : "pmc-olt"
+                                    "driver" : "voltha"
                                     }
                               }
                         },
@@ -1712,7 +1712,7 @@
           network_cfg = { "devices" : {
                   "{}".format(did) : {
                         "basic" : {
-                              "driver" : "pmc-olt"
+                              "driver" : "voltha"
                               }
                         }
                   },
diff --git a/src/test/utils/OnosCtrl.py b/src/test/utils/OnosCtrl.py
index 3aa09ba..dc4f05c 100644
--- a/src/test/utils/OnosCtrl.py
+++ b/src/test/utils/OnosCtrl.py
@@ -277,7 +277,7 @@
         return False, 400
 
     @classmethod
-    def config_device_driver(cls, controller = None, dids = None, driver = 'pmc-olt'):
+    def config_device_driver(cls, controller = None, dids = None, driver = 'voltha'):
         driver_apps = ('org.onosproject.drivers', 'org.onosproject.openflow-base',)
         if dids is None:
             dids = cls.get_device_ids(controller = controller)
diff --git a/src/test/utils/Scale.py b/src/test/utils/Scale.py
index 3fd4e4b..6c14872 100644
--- a/src/test/utils/Scale.py
+++ b/src/test/utils/Scale.py
@@ -720,7 +720,7 @@
         #dids = OnosCtrl.get_device_ids()
         #device_map = {}
         #for did in dids:
-        #      device_map[did] = { 'basic' : { 'driver' : 'pmc-olt' } }
+        #      device_map[did] = { 'basic' : { 'driver' : 'voltha' } }
         #network_cfg = {}
         #network_cfg = { 'devices' : device_map }
         #Restart ONOS with cpqd driver config for OVS
diff --git a/src/test/utils/VolthaCtrl.py b/src/test/utils/VolthaCtrl.py
index 5d9993a..0a73551 100644
--- a/src/test/utils/VolthaCtrl.py
+++ b/src/test/utils/VolthaCtrl.py
@@ -279,7 +279,7 @@
                                               names = onu_names,
                                               macs = onu_macs)
             device_config['devices'][device_id] = {}
-            device_config['devices'][device_id]['basic'] = dict(driver='pmc-olt')
+            device_config['devices'][device_id]['basic'] = dict(driver='voltha')
             device_config['devices'][device_id]['accessDevice'] = dict(uplink=nni_ports[0]['port'],
                                                                        vlan = uplink_vlan,
                                                                        defaultVlan=str(onu_ports[0])
@@ -424,7 +424,7 @@
                  uplink_vlan_start = VolthaCtrl.UPLINK_VLAN_START,
                  config_fake = False, olt_app = None, teardown = True):
     devices = OnosCtrl.get_devices()
-    olt_devices = filter(lambda d: not d['mfr'].startswith('Nicira') and d['driver'] == 'pmc-olt', devices)
+    olt_devices = filter(lambda d: not d['mfr'].startswith('Nicira') and d['driver'] == 'voltha', devices)
     voltha = VolthaCtrl(host, rest_port = rest_port,
                         uplink_vlan_map = uplink_vlan_map,
                         uplink_vlan_start = uplink_vlan_start)
