diff --git a/src/tinydb_jsonorm/models.py b/src/tinydb_jsonorm/models.py
index <HASH>..<HASH> 100644
--- a/src/tinydb_jsonorm/models.py
+++ b/src/tinydb_jsonorm/models.py
@@ -43,12 +43,16 @@ class TinyJsonModel(Model):
 
     def __init__(self, eid=None, *args, **kwargs):
         super(TinyJsonModel, self).__init__(*args, **kwargs)
+
         # When eid is informed we consider as existent record in the database
         if eid is not None:
             self.eid = eid
         else:
-            # Only generate cuid for new record objects eid == None
-            self._cuid = uuidgen.cuid()
+            if '_cuid' in kwargs:
+                self._cuid = kwargs['_cuid']
+            else:
+                # Only generate cuid for new record objects eid == None and kwargs['_cuid'] == None
+                self._cuid = uuidgen.cuid()
 
     @property
     def id(self):
Fixed issue that occurred when using ListField type fields using data created from another TinyJsonModel table. At the time the master record was saved a new _cuid was generated for the sub record and this caused integrity issues in certain situations.