--- /dev/null
+--- a/src/lua.c
++++ b/src/lua.c
+@@ -281,9 +281,6 @@ static int lua_cb_register_read(lua_Stat
+
+ luaL_checktype(L, 1, LUA_TFUNCTION);
+
+- char function_name[DATA_MAX_NAME_LEN];
+- snprintf(function_name, sizeof(function_name), "lua/%s", lua_tostring(L, 1));
+-
+ int callback_id = clua_store_callback(L, 1);
+ if (callback_id < 0)
+ return luaL_error(L, "%s", "Storing callback function failed");
+@@ -298,6 +295,9 @@ static int lua_cb_register_read(lua_Stat
+ if (cb == NULL)
+ return luaL_error(L, "%s", "calloc failed");
+
++ char function_name[DATA_MAX_NAME_LEN];
++ snprintf(function_name, sizeof(function_name), "lua/%p", thread);
++
+ cb->lua_state = thread;
+ cb->callback_id = callback_id;
+ cb->lua_function_name = strdup(function_name);
+@@ -325,9 +325,6 @@ static int lua_cb_register_write(lua_Sta
+
+ luaL_checktype(L, 1, LUA_TFUNCTION);
+
+- char function_name[DATA_MAX_NAME_LEN] = "";
+- snprintf(function_name, sizeof(function_name), "lua/%s", lua_tostring(L, 1));
+-
+ int callback_id = clua_store_callback(L, 1);
+ if (callback_id < 0)
+ return luaL_error(L, "%s", "Storing callback function failed");
+@@ -342,6 +339,9 @@ static int lua_cb_register_write(lua_Sta
+ if (cb == NULL)
+ return luaL_error(L, "%s", "calloc failed");
+
++ char function_name[DATA_MAX_NAME_LEN] = "";
++ snprintf(function_name, sizeof(function_name), "lua/%p", thread);
++
+ cb->lua_state = thread;
+ cb->callback_id = callback_id;
+ cb->lua_function_name = strdup(function_name);