diff --git a/manual/luatex-nodes.tex b/manual/luatex-nodes.tex
index e90813c33971cdfb189f81be22f8da24a8e79d52..b7b81b5a6223d85ba7f6ae01b643318ba823ebe2 100644
--- a/manual/luatex-nodes.tex
+++ b/manual/luatex-nodes.tex
@@ -646,14 +646,14 @@ The \type {type} can have one of six distinct values. The number is the \ASCII\
 value if the first character if the type name (so you can use string.byte("l")
 instead of \type {108}).
 
-\starttabulate[|lT|p|]
-\NC \rmbf value \NC \bf meaning   \NC \bf explanation \NC \NR
-\NC   97        \NC a  \NC list of attributes (a node list) \NC \NR
-\NC  100        \NC d  \NC a \LUA\ number \NC \NR
-\NC  108        \NC l  \NC a \LUA\ value (table, number, boolean, etc) \NC \NR
-\NC  110        \NC n  \NC a node list \NC \NR
-\NC  115        \NC s  \NC a \LUA\ string \NC \NR
-\NC  116        \NC t  \NC a \LUA\ token list in \LUA\ table form (a list of triplets) \NC \NR
+\starttabulate[|lT|lT|p|]
+\NC \rmbf value \NC \bf meaning \NC \bf explanation \NC \NR
+\NC   97        \NC a           \NC list of attributes (a node list) \NC \NR
+\NC  100        \NC d           \NC a \LUA\ number \NC \NR
+\NC  108        \NC l           \NC a \LUA\ value (table, number, boolean, etc) \NC \NR
+\NC  110        \NC n           \NC a node list \NC \NR
+\NC  115        \NC s           \NC a \LUA\ string \NC \NR
+\NC  116        \NC t           \NC a \LUA\ token list in \LUA\ table form (a list of triplets) \NC \NR
 \stoptabulate
 
 \subsubsubsection{save_pos whatsits}
diff --git a/manual/luatex.pdf b/manual/luatex.pdf
index 00902201083485894e90e16eb85f36d331a9e181..9c9bad1e164d52f44b8691aea6f4f2996b772227 100644
Binary files a/manual/luatex.pdf and b/manual/luatex.pdf differ
diff --git a/manual/luatex.tex b/manual/luatex.tex
index 59a969396ad82d42d517393ee0c9a22835045aa3..c997835c56a823c11f40d2f49738af805479dcf4 100644
--- a/manual/luatex.tex
+++ b/manual/luatex.tex
@@ -11,7 +11,7 @@
 \dontcomplain
 
 \startdocument
-  [version=0.95.0,
+  [version=0.96.0,
    status=Pre-release]
 
 \component luatex-titlepage
diff --git a/source/texk/web2c/luatexdir/luatex.c b/source/texk/web2c/luatexdir/luatex.c
index 2d8dccda047c49144d64127560cc5df8ca9d8742..0ff892e622226ebe234e85c6854db26ae6945f40 100644
--- a/source/texk/web2c/luatexdir/luatex.c
+++ b/source/texk/web2c/luatexdir/luatex.c
@@ -28,10 +28,10 @@
 
 #define TeX
 
-int luatex_version = 95;        /* \.{\\luatexversion}  */
+int luatex_version = 96;        /* \.{\\luatexversion}  */
 int luatex_revision = '0';      /* \.{\\luatexrevision}  */
-int luatex_date_info = 2016042515;     /* the compile date is now hardwired */
-const char *luatex_version_string = "0.95.0";
+int luatex_date_info = 2016051817;     /* the compile date is now hardwired */
+const char *luatex_version_string = "0.96.0";
 const char *engine_name = my_name;     /* the name of this engine */
 
 #include <kpathsea/c-ctype.h>
diff --git a/source/texk/web2c/luatexdir/tex/texnodes.w b/source/texk/web2c/luatexdir/tex/texnodes.w
index 5337bb3908df6dee47bc2489933f39f8d20a9009..16f00977205b201a20fcb028f17e91937aba434f 100644
--- a/source/texk/web2c/luatexdir/tex/texnodes.w
+++ b/source/texk/web2c/luatexdir/tex/texnodes.w
@@ -1275,6 +1275,9 @@ static void flush_node_wrapup_core(halfword p)
                 break;
             case 'd':
                 break;
+            case 'l':
+                free_user_lua(user_node_value(p));
+                break;
             case 'n':
                 flush_node_list(user_node_value(p));
                 break;