diff --git a/xos/xos_client/xosapi/convenience/cordsubscriberroot.py b/xos/xos_client/xosapi/convenience/cordsubscriberroot.py
index 9ae8407..5af889c 100644
--- a/xos/xos_client/xosapi/convenience/cordsubscriberroot.py
+++ b/xos/xos_client/xosapi/convenience/cordsubscriberroot.py
@@ -23,8 +23,8 @@
         links = self.subscribed_links.all()
         for link in links:
             # TODO: hardcoded service dependency
-            # cast from ServiceInstance to VOLTTenant
-            volts = self.stub.VOLTTenant.objects.filter(id = link.provider_service_instance.id)
+            # cast from ServiceInstance to VOLTServiceInstance
+            volts = self.stub.VOLTServiceInstance.objects.filter(id = link.provider_service_instance.id)
             if volts:
                 return volts[0]
         return None
diff --git a/xos/xos_client/xosapi/convenience/volttenant.py b/xos/xos_client/xosapi/convenience/voltserviceinstance.py
similarity index 87%
rename from xos/xos_client/xosapi/convenience/volttenant.py
rename to xos/xos_client/xosapi/convenience/voltserviceinstance.py
index 25f978e..0d2484f 100644
--- a/xos/xos_client/xosapi/convenience/volttenant.py
+++ b/xos/xos_client/xosapi/convenience/voltserviceinstance.py
@@ -16,7 +16,7 @@
 
 from xosapi.orm import ORMWrapper, register_convenience_wrapper
 
-class ORMWrapperVOLTTenant(ORMWrapper):
+class ORMWrapperVOLTServiceInstance(ORMWrapper):
     @property
     def vsg(self):
         links = self.stub.ServiceInstanceLink.objects.filter(subscriber_service_instance_id = self.id)
@@ -30,7 +30,7 @@
     # DEPRECATED
     @property
     def vcpe(self):
-        self.logger.warning('VOLTTenant.vcpe is DEPRECATED, use VOLTTenant.vsg instead')
+        self.logger.warning('VOLTServiceInstance.vcpe is DEPRECATED, use VOLTServiceInstance.vsg instead')
         return self.vsg
 
     @property
@@ -51,4 +51,4 @@
     def s_tag(self):
         return self.subscriber.s_tag
 
-register_convenience_wrapper("VOLTTenant", ORMWrapperVOLTTenant)
+register_convenience_wrapper("VOLTServiceInstance", ORMWrapperVOLTServiceInstance)
diff --git a/xos/xos_client/xosapi/orm.py b/xos/xos_client/xosapi/orm.py
index db9c468..bec5e7b 100644
--- a/xos/xos_client/xosapi/orm.py
+++ b/xos/xos_client/xosapi/orm.py
@@ -612,7 +612,7 @@
 import convenience.instance
 import convenience.network
 import convenience.cordsubscriberroot
-import convenience.volttenant
+import convenience.voltserviceinstance
 import convenience.vsgserviceinstance
 import convenience.vrouterservice
 import convenience.vroutertenant
