diff --git a/test/caosdb_test_utility.h b/test/caosdb_test_utility.h
index 4cde3dc5059acf60a04b071154b44a59b67e9833..cd1b47ce8f61a8d8d66ae2a7d76ffce46c2a3739 100644
--- a/test/caosdb_test_utility.h
+++ b/test/caosdb_test_utility.h
@@ -32,17 +32,15 @@
  * @date 2021-07-07
  */
 #define EXPECT_THROW_MESSAGE(statement, exeption_type, message)                \
-  EXPECT_THROW(                                                                \
-      try { statement; } catch (const exeption_type &e) {                      \
-        EXPECT_EQ(std::string(e.what()), message);                             \
-        throw;                                                                 \
-      },                                                                       \
-      exeption_type)
+  EXPECT_THROW(try { statement; } catch (const exeption_type &e) {             \
+    EXPECT_EQ(std::string(e.what()), message);                                 \
+    throw;                                                                     \
+  },                                                                           \
+               exeption_type)
 #define ASSERT_THROW_MESSAGE(statement, exeption_type, message)                \
-  ASSERT_THROW(                                                                \
-      try { statement; } catch (const exeption_type &e) {                      \
-        ASSERT_EQ(std::string(e.what()), message);                             \
-        throw;                                                                 \
-      },                                                                       \
-      exeption_type)
+  ASSERT_THROW(try { statement; } catch (const exeption_type &e) {             \
+    ASSERT_EQ(std::string(e.what()), message);                                 \
+    throw;                                                                     \
+  },                                                                           \
+               exeption_type)
 #endif
diff --git a/test/test_issues.cpp b/test/test_issues.cpp
index 2d12f4dc5af8db1a124e2334a712eda86dba5670..80dc4f9ae7b5efe2406c36c862fa15b168e92d2e 100644
--- a/test/test_issues.cpp
+++ b/test/test_issues.cpp
@@ -24,6 +24,7 @@ namespace fs = boost::filesystem;
 namespace caosdb::transaction {
 using caosdb::entity::AtomicDataType;
 using caosdb::entity::Entity;
+using caosdb::entity::Parent;
 using caosdb::entity::Role;
 using caosdb::entity::Value;
 
@@ -144,4 +145,55 @@ TEST_F(test_issues, server_issue_170) {
       "update_status.IsError");
 }
 
+/*
+ * Insert a Record with a parent, which has a wrong name.
+ *
+ * This must result in a server error.
+ */
+TEST_F(test_issues, server_issue_171) {
+  const auto &connection =
+      caosdb::connection::ConnectionManager::GetDefaultConnection();
+
+  auto insert_transaction(connection->CreateTransaction());
+
+  // insert RT
+  Entity rt;
+  rt.SetRole(Role::RECORD_TYPE);
+  rt.SetName("Test_RT_Name");
+  insert_transaction->InsertEntity(&rt);
+  insert_transaction->ExecuteAsynchronously();
+
+  auto insert_status = insert_transaction->WaitForIt();
+  ASSERT_TRUE(insert_status.IsTerminated());
+  ASSERT_FALSE(insert_status.IsError());
+
+  const auto &insert_result_set = insert_transaction->GetResultSet();
+  const auto &inserted_rt = insert_result_set.at(0);
+
+  // create Record with parent
+  Entity rec;
+  rec.SetRole(Role::RECORD);
+  rec.SetName("TestRec");
+
+  Parent parent;
+  parent.SetId(inserted_rt.GetId());
+  parent.SetName(rt.GetName() + "_wrong");
+  rec.AppendParent(parent);
+
+  // insert Record
+  auto rec_transaction(connection->CreateTransaction());
+  rec_transaction->InsertEntity(&rec);
+  rec_transaction->ExecuteAsynchronously();
+
+  auto rec_insert_status = rec_transaction->WaitForIt();
+  ASSERT_TRUE(rec_insert_status.IsTerminated());
+  EXPECT_NONFATAL_FAILURE({ EXPECT_TRUE(rec_insert_status.IsError()); },
+                          "rec_insert_status.IsError");
+
+  const auto &rec_result_set = rec_transaction->GetResultSet();
+  const auto &inserted_rec = rec_result_set.at(0);
+
+  std::cout << inserted_rec.ToString() << std::endl;
+}
+
 } // namespace caosdb::transaction