diff --git a/rdbms/StmtTest.cpp b/rdbms/StmtTest.cpp
index 7cbccebfb0160a6d1ca96353b8cd2cdab8d5d382..59062c9f60dc1a0ef43ebb5cc89b0a28c2d30642 100644
--- a/rdbms/StmtTest.cpp
+++ b/rdbms/StmtTest.cpp
@@ -138,4 +138,44 @@ TEST_P(cta_rdbms_StmtTest, insert_with_bindUint64) {
   }
 }
 
+TEST_P(cta_rdbms_StmtTest, insert_with_bindUint64_2_pow_54_minus_2) {
+  using namespace cta::rdbms;
+
+  // The MySql support in CTA cannot store an unsigned integer greater than
+  // 2^54-2
+  const uint64_t insertValue = 18014398509481982;
+
+  // Insert a row into the test table
+  {
+    const char *const sql =
+      "INSERT INTO STMT_TEST("
+        "UINT64_COL) "
+      "VALUES("
+        ":UINT64_COL)";
+    auto stmt = m_conn.createStmt(sql);
+    stmt.bindUint64(":UINT64_COL", insertValue);
+    stmt.executeNonQuery();
+  }
+
+  // Select the row back from the table
+  {
+    const char *const sql =
+      "SELECT "
+        "UINT64_COL AS UINT64_COL "
+      "FROM "
+        "STMT_TEST";
+    auto stmt = m_conn.createStmt(sql);
+    auto rset = stmt.executeQuery();
+    ASSERT_TRUE(rset.next());
+
+    const auto selectValue = rset.columnOptionalUint64("UINT64_COL");
+
+    ASSERT_TRUE((bool)selectValue);
+
+    ASSERT_EQ(insertValue,selectValue.value());
+
+    ASSERT_FALSE(rset.next());
+  }
+}
+
 } // namespace unitTests