diff --git a/source/texk/web2c/luatexdir/luatex_svnversion.h b/source/texk/web2c/luatexdir/luatex_svnversion.h
index d513865325ace8f755a903eea9a23b83edcc3550..6809e8b9c9d63e179f644d25b1eb983ae9dbed7c 100644
--- a/source/texk/web2c/luatexdir/luatex_svnversion.h
+++ b/source/texk/web2c/luatexdir/luatex_svnversion.h
@@ -1,4 +1,4 @@
 #ifndef luatex_svn_revision_h
 #define luatex_svn_revision_h
-#define luatex_svn_revision 7538
+#define luatex_svn_revision 7539
 #endif
diff --git a/source/texk/web2c/luatexdir/tex/texdeffont.c b/source/texk/web2c/luatexdir/tex/texdeffont.c
index 1ec4b12bf06210872726dab9da082d1258a60de0..5adc8f51861a3f194d5ed964079bfee4dd44b871 100644
--- a/source/texk/web2c/luatexdir/tex/texdeffont.c
+++ b/source/texk/web2c/luatexdir/tex/texdeffont.c
@@ -218,11 +218,13 @@ void tex_def_font(small_number a)
 
         This is tricky: when we redefine a string we loose the old one. So this
         will change as it's only used to display the |\fontname| so we can store
-        that with the font.
+        that with the font. To be consistent with the rest of the code, unlike 
+        |pdftex| the text of |null_cs| (i.e. |\csname\endcsname|) is the empty 
+        string |""|.
 
     */
     d = cs_text(font_id_base + f);
-    t = (u >= null_cs) ? cs_text(u) : maketexstring("FONT");
+    t = (u >= null_cs) ? ((u==null_cs) ? get_nullstr() : cs_text(u)) : maketexstring("FONT");
     if (!d) {
         /*tex We have a new string. */
         cs_text(font_id_base + f) = t;
@@ -230,7 +232,7 @@ void tex_def_font(small_number a)
         /*tex We have a duplicate string. */
         flush_str(t);
     } else if (d!=t){
-        d = search_string(t);
+        d = search_string(t) ;
         if (d) {
             /*tex We have already such a string. */
             cs_text(font_id_base + f) = d;