diff --git a/src/lua/trigger.cc b/src/lua/trigger.cc
index fb05ba1b4a666de8b9eaf4e1740d0372ff57a9c2..6d0f99ba0f04e499f8b25f0456a33c0458df7426 100644
--- a/src/lua/trigger.cc
+++ b/src/lua/trigger.cc
@@ -66,7 +66,7 @@ lbox_list_all_triggers(struct lua_State *L, struct rlist *list)
 	lua_newtable(L);
 	rlist_foreach_entry_reverse(trigger, list, link) {
 		lua_rawgeti(L, LUA_REGISTRYINDEX, (intptr_t) trigger->data);
-		if (lua_isfunction(L, -1)) {
+		if (lua_isfunction(L, -1) && !lua_iscfunction(L, -1)) {
 			lua_rawseti(L, -2, count);
 			count++;
 		} else {