diff --git a/include/proto/hlua_fcn.h b/include/proto/hlua_fcn.h
index 9c5d908..e4ce5f0 100644
--- a/include/proto/hlua_fcn.h
+++ b/include/proto/hlua_fcn.h
@@ -6,6 +6,7 @@
 void hlua_class_function(lua_State *L, const char *name, int (*function)(lua_State *L));
 void *hlua_checkudata(lua_State *L, int ud, int class_ref);
 int hlua_register_metatable(struct lua_State *L, char *name);
+int hlua_fcn_post_init(lua_State *L);
 int hlua_fcn_reg_core_fcn(lua_State *L);
 int hlua_dump_object(lua_State *L);
 
diff --git a/src/hlua.c b/src/hlua.c
index 89b3a79..0f49125 100644
--- a/src/hlua.c
+++ b/src/hlua.c
@@ -6444,6 +6444,18 @@
 	enum hlua_exec ret;
 	const char *error;
 
+	/* Call post initialisation function in safe environement. */
+	if (!SET_SAFE_LJMP(gL.T)) {
+		if (lua_type(gL.T, -1) == LUA_TSTRING)
+			error = lua_tostring(gL.T, -1);
+		else
+			error = "critical error";
+		fprintf(stderr, "Lua post-init: %s.\n", error);
+		exit(1);
+	}
+	hlua_fcn_post_init(gL.T);
+	RESET_SAFE_LJMP(gL.T);
+
 	list_for_each_entry(init, &hlua_init_functions, l) {
 		lua_rawgeti(gL.T, LUA_REGISTRYINDEX, init->function_ref);
 		ret = hlua_ctx_resume(&gL, 0);
diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c
index 1dcd650..215058a 100644
--- a/src/hlua_fcn.c
+++ b/src/hlua_fcn.c
@@ -313,6 +313,11 @@
 	return 1;
 }
 
+int hlua_fcn_post_init(lua_State *L)
+{
+	return 1;
+}
+
 int hlua_fcn_reg_core_fcn(lua_State *L)
 {
 	if (!hlua_concat_init(L))
