Noticed two bugs. 1. Mised case for user defined whatsit node type 108 (‘l’ Lua value) in function check_node_wrapup_core (texnodes.c:2482). Possible fix: just add the same as cases for types ’s’ and ‘d’. Insert line at texnodes.c:2500 case ‘l': 2. In function flush_node_wrapup_core (texnodes.c:2201) for user defined whatsit node type ‘l’ we have: free_user_lua(user_node_value(p)). But in luanode.c:409 free_user_lua is defined as: void free_user_lua(pointer p) { if (user_node_value(p) != 0) { luaL_unref(Luas, LUA_REGISTRYINDEX, user_node_value(p)); } } So we have two times user_node_value and it generates segmentation fault. Possible fix: free_user_lua(p); // (texnodes.c:2223) Regards, Sigitas