diff --git a/xos/synchronizer/models/models.py b/xos/synchronizer/models/models.py
index 80294d9..dd6c57f 100644
--- a/xos/synchronizer/models/models.py
+++ b/xos/synchronizer/models/models.py
@@ -70,20 +70,11 @@
         self.set_owner()
 
         if hasattr(self.owner.leaf_model, "access") and self.owner.leaf_model.access == "voltha":
-            # if the access network is managed by voltha, validate that olt_device and olt_port actually exists
+            # if the access network is managed by voltha, validate that onu_device actually exist
             volt_service = self.owner.provider_services[0].leaf_model # we assume RCORDService is connected only to the vOLTService
 
-            try:
-                olt_device = [d for d in volt_service.volt_devices.all() if d.name == self.olt_device][0]
-            except IndexError, e:
-                raise XOSValidationError("The olt_device you specified (%s) does not exists" % self.olt_device)
-
-            try:
-                olt_port = [p for p in olt_device.ports.all() if p.name == self.olt_port][0]
-            except IndexError, e:
-                raise XOSValidationError("The olt_port you specified (%s) does not exists on OLTDevice %s" % (self.olt_port, olt_device.name))
-
-
+            if not volt_service.has_access_device(self.onu_device):
+                raise XOSValidationError("The onu_device you specified (%s) does not exists" % self.onu_device)
 
         super(RCORDSubscriber, self).save(*args, **kwargs)
         self.invalidate_related_objects()
diff --git a/xos/synchronizer/models/rcord.xproto b/xos/synchronizer/models/rcord.xproto
index 8fe2f67..122b80c 100644
--- a/xos/synchronizer/models/rcord.xproto
+++ b/xos/synchronizer/models/rcord.xproto
@@ -24,8 +24,7 @@
     required bool enable_uverse = 10 [default = True, null = False, db_index = False, blank = True];
     required string status = 11 [default = "enabled", choices = "(('enabled', 'Enabled'), ('suspended', 'Suspended'), ('delinquent', 'Delinquent'), ('copyrightviolation', 'Copyright Violation'))", max_length = 30, content_type = "stripped", blank = False, null = False, db_index = False];
     optional int32 c_tag = 12 [null = True, db_index = False, blank = False];
-    required string olt_device = 13 [help_text = "OLTDevice name", null = False, db_index = False, blank = False];
-    required string olt_port = 14 [help_text = "OLTDevicePort name", null = False, db_index = False, blank = False];
+    required string onu_device = 13 [help_text = "ONUDevice serial number", null = False, db_index = False, blank = False, unique = True];
     optional manytoone creator->User:created_rcord_subscribers = 15 [db_index = True, null = True, blank = True];
 
     optional int32 uni_port_id = 16 [help_text = "UNI PORT ID in VOLTHA", null = True, db_index = False, blank = False];
