diff --git a/arkindex_worker/worker/element.py b/arkindex_worker/worker/element.py
index ecedb26ad6bf2634741de219c0de2293f5cb45ea..b25e8c5160f04aedf99eca997761dba0d5654d0e 100644
--- a/arkindex_worker/worker/element.py
+++ b/arkindex_worker/worker/element.py
@@ -172,8 +172,8 @@ class ElementMixin(object):
         List children of an element
         """
         assert element and isinstance(
-            element, Element
-        ), "element shouldn't be null and should be of type Element"
+            element, (Element, CachedElement)
+        ), "element shouldn't be null and should be an Element or CachedElement"
         query_params = {}
         if best_class is not None:
             assert isinstance(best_class, str) or isinstance(
diff --git a/arkindex_worker/worker/transcription.py b/arkindex_worker/worker/transcription.py
index 23f1088ec67755c65b042008f55a6fcd8237bcd3..2dd27a60dd095f43f7798678af2bd2ea74dfa7ab 100644
--- a/arkindex_worker/worker/transcription.py
+++ b/arkindex_worker/worker/transcription.py
@@ -233,8 +233,8 @@ class TranscriptionMixin(object):
         List transcriptions on an element
         """
         assert element and isinstance(
-            element, Element
-        ), "element shouldn't be null and should be of type Element"
+            element, (Element, CachedElement)
+        ), "element shouldn't be null and should be an Element or CachedElement"
         query_params = {}
         if element_type:
             assert isinstance(element_type, str), "element_type should be of type str"
diff --git a/tests/test_elements_worker/test_elements.py b/tests/test_elements_worker/test_elements.py
index a903a74df12950a7050000c149315ab0a3c3c88a..0c790b6ac5a99b8138a35f8152f783a22f5af390 100644
--- a/tests/test_elements_worker/test_elements.py
+++ b/tests/test_elements_worker/test_elements.py
@@ -900,11 +900,17 @@ def test_create_elements_integrity_error(
 def test_list_element_children_wrong_element(mock_elements_worker):
     with pytest.raises(AssertionError) as e:
         mock_elements_worker.list_element_children(element=None)
-    assert str(e.value) == "element shouldn't be null and should be of type Element"
+    assert (
+        str(e.value)
+        == "element shouldn't be null and should be an Element or CachedElement"
+    )
 
     with pytest.raises(AssertionError) as e:
         mock_elements_worker.list_element_children(element="not element type")
-    assert str(e.value) == "element shouldn't be null and should be of type Element"
+    assert (
+        str(e.value)
+        == "element shouldn't be null and should be an Element or CachedElement"
+    )
 
 
 def test_list_element_children_wrong_best_class(mock_elements_worker):
diff --git a/tests/test_elements_worker/test_transcriptions.py b/tests/test_elements_worker/test_transcriptions.py
index 2004287605efed6318fe24fb8dba337d8d619143..de464ac8ab840888639aa031ea3739ef3b71fb93 100644
--- a/tests/test_elements_worker/test_transcriptions.py
+++ b/tests/test_elements_worker/test_transcriptions.py
@@ -1041,11 +1041,17 @@ def test_create_element_transcriptions(responses, mock_elements_worker_with_cach
 def test_list_transcriptions_wrong_element(mock_elements_worker):
     with pytest.raises(AssertionError) as e:
         mock_elements_worker.list_transcriptions(element=None)
-    assert str(e.value) == "element shouldn't be null and should be of type Element"
+    assert (
+        str(e.value)
+        == "element shouldn't be null and should be an Element or CachedElement"
+    )
 
     with pytest.raises(AssertionError) as e:
         mock_elements_worker.list_transcriptions(element="not element type")
-    assert str(e.value) == "element shouldn't be null and should be of type Element"
+    assert (
+        str(e.value)
+        == "element shouldn't be null and should be an Element or CachedElement"
+    )
 
 
 def test_list_transcriptions_wrong_element_type(mock_elements_worker):