diff --git a/include/caosdb/transaction.h b/include/caosdb/transaction.h
index 78524cf007c397c858ae582d8e0097b40c07ae53..0fb724a5316e6f615d4236aa24dc44d338fce803 100644
--- a/include/caosdb/transaction.h
+++ b/include/caosdb/transaction.h
@@ -345,7 +345,8 @@ public:
    *
    * A client may request the current status at any time via GetStatus().
    *
-   * Use WaitForIt() to join the back-ground execution of this transaction.
+   * Use WaitForIt() to join the back-ground execution of this transaction, otherwise the behaviour
+   * of getting the ResultSet is undefined.
    */
   auto ExecuteAsynchronously() noexcept -> StatusCode;
 
@@ -353,7 +354,8 @@ public:
    * Join the background execution and return the status when the execution
    * terminates.
    *
-   * Use this after ExecuteAsynchronously().
+   * Use this after ExecuteAsynchronously(), otherwise the TransactionStatus still remains
+   * EXECUTING.
    */
   [[nodiscard]] auto WaitForIt() const noexcept -> TransactionStatus;
 
diff --git a/test/test_ccaosdb.cpp b/test/test_ccaosdb.cpp
index eaf9d5f4141c149731eea5c58f4242c07b57aa35..02283444634a689c3168be34d7b5794f8dfbd069 100644
--- a/test/test_ccaosdb.cpp
+++ b/test/test_ccaosdb.cpp
@@ -172,6 +172,12 @@ TEST_F(test_ccaosdb, test_entity) {
   EXPECT_FALSE(*is_list);
   EXPECT_FALSE(*is_ref);
 
+  caosdb_entity_entity_set_datatype(&entity, "Person", true, true);
+  caosdb_entity_entity_get_datatype(&entity, &out, is_ref, is_list);
+  EXPECT_EQ(strcmp(out, "Person"), 0);
+  EXPECT_TRUE(*is_list);
+  EXPECT_TRUE(*is_ref);
+
   caosdb_entity_entity_set_unit(&entity, "m");
   caosdb_entity_entity_get_unit(&entity, &out);
   EXPECT_EQ(strcmp(out, "m"), 0);