diff --git a/source/texk/web2c/luatexdir/font/tounicode.w b/source/texk/web2c/luatexdir/font/tounicode.w
index 4e76488ae8165accc89177ab8226b5cc99f88968..2e3fad40c72c91ce216e5df254c6f2617b9aebe1 100644
--- a/source/texk/web2c/luatexdir/font/tounicode.w
+++ b/source/texk/web2c/luatexdir/font/tounicode.w
@@ -343,7 +343,7 @@ int write_tounicode(PDF pdf, char **glyph_names, char *name)
     else
         strcat(buf, builtin_suffix);    /* ".enc" not present, this is a builtin
                                            encoding so the name is eg "cmr10-builtin" */
-    objnum = pdf_new_objnum(pdf);
+    objnum = pdf_create_obj(pdf, obj_type_others, 0);
     pdf_begin_obj(pdf, objnum, OBJSTM_NEVER);
     pdf_begin_dict(pdf);
     pdf_dict_add_streaminfo(pdf);
@@ -491,7 +491,7 @@ int write_cid_tounicode(PDF pdf, fo_entry * fo, internal_font_number f)
             (fo->fd->subset_tag != NULL ? fo->fd->subset_tag : "UCS"),
             fo->fd->fontname);
 
-    objnum = pdf_new_objnum(pdf);
+    objnum = pdf_create_obj(pdf, obj_type_others, 0);
     pdf_begin_obj(pdf, objnum, OBJSTM_NEVER);
     pdf_begin_dict(pdf);
     pdf_dict_add_streaminfo(pdf);
diff --git a/source/texk/web2c/luatexdir/font/writecff.w b/source/texk/web2c/luatexdir/font/writecff.w
index 1c6fb956c035356056a153d126d382ca88eb8791..ac4dc76118fc00e1dfc03ad788d82c6bc8a307f2 100644
--- a/source/texk/web2c/luatexdir/font/writecff.w
+++ b/source/texk/web2c/luatexdir/font/writecff.w
@@ -3168,7 +3168,7 @@ void write_cff(PDF pdf, cff_font * cffont, fd_entry * fd)
        each (set) bit is a (present) CID. */	
     if (1) {
       int cid;
-      cidset = pdf_new_objnum(pdf);
+      cidset = pdf_create_obj(pdf, obj_type_others, 0);
       if (cidset != 0) {
        size_t l = (last_cid/8)+1;
        char *stream = xmalloc(l);
@@ -3378,7 +3378,7 @@ void write_cid_cff(PDF pdf, cff_font * cffont, fd_entry * fd)
     /* CIDSet: a table of bits indexed by cid, bytes with high order bit first, 
        each (set) bit is a (present) CID. */
     if (1) {
-        cidset = pdf_new_objnum(pdf);
+        cidset = pdf_create_obj(pdf, obj_type_others, 0);
         if (cidset != 0) {
             size_t l = (last_cid / 8) + 1;
             char *stream = xmalloc(l);
diff --git a/source/texk/web2c/luatexdir/font/writefont.w b/source/texk/web2c/luatexdir/font/writefont.w
index cde176cb075e7b2ca5d7683e994f6873d1032460..cd8360c5e8ae149076fac1534937ae2b31c6259d 100644
--- a/source/texk/web2c/luatexdir/font/writefont.w
+++ b/source/texk/web2c/luatexdir/font/writefont.w
@@ -368,7 +368,7 @@ static void write_charwidth_array(PDF pdf, fo_entry * fo,
     struct avl_traverser t;
     assert(fo->tx_tree != NULL);
     assert(fo->cw_objnum == 0);
-    fo->cw_objnum = pdf_new_objnum(pdf);
+    fo->cw_objnum = pdf_create_obj(pdf, obj_type_others, 0);
     pdf_begin_obj(pdf, fo->cw_objnum, OBJSTM_ALWAYS);
     avl_t_init(&t, fo->tx_tree);
     fip = (int *) avl_t_first(&t, fo->tx_tree);
@@ -448,7 +448,7 @@ static void write_fontfile(PDF pdf, fd_entry * fd)
     if (!fd->ff_found)
         return;
     assert(fd->ff_objnum == 0);
-    fd->ff_objnum = pdf_new_objnum(pdf);
+    fd->ff_objnum = pdf_create_obj(pdf, obj_type_others, 0);
     pdf_begin_obj(pdf, fd->ff_objnum, OBJSTM_NEVER);    /* font file stream */
     pdf_begin_dict(pdf);
     if (is_cidkeyed(fd->fm)) {
@@ -512,7 +512,7 @@ static void write_fontdescriptor(PDF pdf, fd_entry * fd)
     if (is_fontfile(fd->fm) && is_included(fd->fm))
         write_fontfile(pdf, fd);        /* this will set |fd->ff_found| if font file is found */
     if (fd->fd_objnum == 0)
-        fd->fd_objnum = pdf_new_objnum(pdf);
+        fd->fd_objnum = pdf_create_obj(pdf, obj_type_others, 0);
     pdf_begin_obj(pdf, fd->fd_objnum, OBJSTM_ALWAYS);
     pdf_begin_dict(pdf);
     pdf_dict_add_name(pdf, "Type", "FontDescriptor");
@@ -680,7 +680,7 @@ static void create_fontdictionary(PDF pdf, internal_font_number f)
         fo->fe = get_fe_entry(fo->fm->encname); /* returns |NULL| if .enc file couldn't be opened */
         if (fo->fe != NULL && (is_type1(fo->fm) || is_opentype(fo->fm))) {
             if (fo->fe->fe_objnum == 0)
-                fo->fe->fe_objnum = pdf_new_objnum(pdf);        /* then it will be written out */
+                fo->fe->fe_objnum = pdf_create_obj(pdf, obj_type_others, 0);    /* then it will be written out */
             /* mark encoding pairs used by TeX to optimize encoding vector */
             fo->fe->tx_tree = mark_chars(fo, fo->fe->tx_tree, f);
         }
@@ -920,7 +920,7 @@ static void write_cid_charwidth_array(PDF pdf, fo_entry * fo)
     struct avl_traverser t;
 
     assert(fo->cw_objnum == 0);
-    fo->cw_objnum = pdf_new_objnum(pdf);
+    fo->cw_objnum = pdf_create_obj(pdf, obj_type_others, 0);
     pdf_begin_obj(pdf, fo->cw_objnum, OBJSTM_ALWAYS);
     avl_t_init(&t, fo->fd->gl_tree);
     glyph = (glw_entry *) avl_t_first(&t, fo->fd->gl_tree);
@@ -995,7 +995,7 @@ void write_cid_fontdictionary(PDF pdf, fo_entry * fo, internal_font_number f)
     pdf_dict_add_name(pdf, "Subtype", "Type0");
     pdf_dict_add_name(pdf, "Encoding", "Identity-H");
     pdf_dict_add_fontname(pdf, "BaseFont", fo->fd);
-    i = pdf_new_objnum(pdf);
+    i = pdf_create_obj(pdf, obj_type_others, 0);
     pdf_add_name(pdf, "DescendantFonts");
     pdf_begin_array(pdf);
     pdf_add_ref(pdf, i);
diff --git a/source/texk/web2c/luatexdir/font/writet3.w b/source/texk/web2c/luatexdir/font/writet3.w
index c41071b1db3cf889f2e277bdee9aca4835d466de..aacd891f1e519a0a3134ca41608aa02b967d257d 100644
--- a/source/texk/web2c/luatexdir/font/writet3.w
+++ b/source/texk/web2c/luatexdir/font/writet3.w
@@ -306,9 +306,9 @@ void writet3(PDF pdf, internal_font_number f)
     pdf_end_dict(pdf);
     pdf_dict_add_int(pdf, "FirstChar", first_char);
     pdf_dict_add_int(pdf, "LastChar", last_char);
-    wptr = pdf_new_objnum(pdf);
-    eptr = pdf_new_objnum(pdf);
-    cptr = pdf_new_objnum(pdf);
+    wptr = pdf_create_obj(pdf, obj_type_others, 0);
+    eptr = pdf_create_obj(pdf, obj_type_others, 0);
+    cptr = pdf_create_obj(pdf, obj_type_others, 0);
     pdf_dict_add_ref(pdf, "Widths", (int) wptr);
     pdf_dict_add_ref(pdf, "Encoding", (int) eptr);
     pdf_dict_add_ref(pdf, "CharProcs", (int) cptr);
diff --git a/source/texk/web2c/luatexdir/font/writetype2.w b/source/texk/web2c/luatexdir/font/writetype2.w
index f3cf4d37d1bf14db9fe0623711d561de39cb94f8..c31d5cef2c87d097d1cfd25ec0575e4bd2071691 100644
--- a/source/texk/web2c/luatexdir/font/writetype2.w
+++ b/source/texk/web2c/luatexdir/font/writetype2.w
@@ -378,7 +378,7 @@ void make_tt_subset(PDF pdf, fd_entry * fd, unsigned char *buffer, int buflen)
 
     /* squeeze in the cidgidmap */
     if (cidtogidmap != NULL) {
-        cidtogid_obj = (unsigned long) pdf_new_objnum(pdf);
+        cidtogid_obj = (unsigned long) pdf_create_obj(pdf, obj_type_others, 0);
         pdf_begin_obj(pdf, (int) cidtogid_obj, OBJSTM_NEVER);
         pdf_begin_dict(pdf);
         pdf_dict_add_int(pdf, "Length", ((last_cid + 1) * 2));
@@ -402,7 +402,7 @@ void make_tt_subset(PDF pdf, fd_entry * fd, unsigned char *buffer, int buflen)
     /* CIDSet: a table of bits indexed by cid, bytes with high order bit first, 
        each (set) bit is a (present) CID. */
     if (is_subsetted(fd->fm)) {
-        cidset = pdf_new_objnum(pdf);
+        cidset = pdf_create_obj(pdf, obj_type_others, 0);
         if (cidset != 0) {
             size_t l = (last_cid / 8) + 1;
             char *stream = xmalloc(l);
diff --git a/source/texk/web2c/luatexdir/image/epdf.h b/source/texk/web2c/luatexdir/image/epdf.h
index 3bf4a9f8b22f9ab2cfd2717fbdaf9b5f725347e5..50b5d07d9d3a90f70757674c97881500cff3c6ac 100644
--- a/source/texk/web2c/luatexdir/image/epdf.h
+++ b/source/texk/web2c/luatexdir/image/epdf.h
@@ -113,7 +113,7 @@ extern "C" {
     extern void print_pdffloat(PDF pdf, pdffloat f);
 
     /* pdftables.w */
-    extern int pdf_new_objnum(PDF);
+    extern int pdf_create_obj(PDF pdf, int t, int i);
 
     /* pdftoepdf.cc */
     extern void read_pdf_info(image_dict *, int, int, img_readtype_e);
diff --git a/source/texk/web2c/luatexdir/image/image.h b/source/texk/web2c/luatexdir/image/image.h
index f330722570f0209cb4949b82f2b1dec5edd86efa..aa5de8756188d8b50b5b4829864186f0cf4a2c97 100644
--- a/source/texk/web2c/luatexdir/image/image.h
+++ b/source/texk/web2c/luatexdir/image/image.h
@@ -32,8 +32,8 @@
 
 extern int do_zround(double r); /* from utils.w */
 extern scaled one_hundred_bp;   /* from pdfgen.w */
-#  define bp2int(p)       do_zround(p * (one_hundred_bp / 100.0))
-#  define int2bp(i)       (i * 100.0 / one_hundred_bp)
+#  define bp2sp(p)        do_zround(p * (one_hundred_bp / 100.0))
+#  define sp2bp(i)        (i * 100.0 / one_hundred_bp)
 
 #  define TYPE_IMG        "image"
 #  define TYPE_IMG_DICT   "image-dict"
diff --git a/source/texk/web2c/luatexdir/image/pdftoepdf.cc b/source/texk/web2c/luatexdir/image/pdftoepdf.cc
index f4da7571065c756e6139c2543099035bda08491c..05e65804a5ea2d6039e76732668976e358682092 100644
--- a/source/texk/web2c/luatexdir/image/pdftoepdf.cc
+++ b/source/texk/web2c/luatexdir/image/pdftoepdf.cc
@@ -253,7 +253,7 @@ static int addInObj(PDF pdf, PdfDocument * pdf_doc, Ref ref)
     n = new InObj;
     n->ref = ref;
     n->next = NULL;
-    n->num = pdf_new_objnum(pdf);
+    n->num = pdf_create_obj(pdf, obj_type_others, 0);
     addObjMap(pdf_doc, ref, n->num);
     if (pdf_doc->inObjList == NULL)
         pdf_doc->inObjList = n;
@@ -577,10 +577,10 @@ read_pdf_info(image_dict * idict, int minor_pdf_version_wanted,
         ysize = pagebox->y1 - pagebox->y2;
     }
     // The following 4 parameters are raw. Do _not_ modify by /Rotate!
-    img_xsize(idict) = bp2int(xsize);
-    img_ysize(idict) = bp2int(ysize);
-    img_xorig(idict) = bp2int(xorig);
-    img_yorig(idict) = bp2int(yorig);
+    img_xsize(idict) = bp2sp(xsize);
+    img_ysize(idict) = bp2sp(ysize);
+    img_xorig(idict) = bp2sp(xorig);
+    img_yorig(idict) = bp2sp(yorig);
 
     // Handle /Rotate parameter. Only multiples of 90 deg. are allowed
     // (PDF Ref. v1.3, p. 78).
@@ -670,10 +670,10 @@ void write_epdf(PDF pdf, image_dict * idict)
     }
     obj1.free();
     if (img_is_bbox(idict)) {
-        bbox[0] = int2bp(img_bbox(idict)[0]);
-        bbox[1] = int2bp(img_bbox(idict)[1]);
-        bbox[2] = int2bp(img_bbox(idict)[2]);
-        bbox[3] = int2bp(img_bbox(idict)[3]);
+        bbox[0] = sp2bp(img_bbox(idict)[0]);
+        bbox[1] = sp2bp(img_bbox(idict)[1]);
+        bbox[2] = sp2bp(img_bbox(idict)[2]);
+        bbox[3] = sp2bp(img_bbox(idict)[3]);
     } else {
         // get the pagebox coordinates (media, crop,...) to use.
         pagebox = get_pagebox(page, img_pagebox(idict));
diff --git a/source/texk/web2c/luatexdir/image/writeimg.w b/source/texk/web2c/luatexdir/image/writeimg.w
index 501576c2a1f2a5ffa7d4a82ea2b85eb45439f669..6e9d94983f2da95cd180af87d4b7aed6f6aba7a3 100644
--- a/source/texk/web2c/luatexdir/image/writeimg.w
+++ b/source/texk/web2c/luatexdir/image/writeimg.w
@@ -643,9 +643,9 @@ void write_pdfstream(PDF pdf, image_dict * idict)
     if (img_attr(idict) != NULL && strlen(img_attr(idict)) > 0)
         pdf_printf(pdf, "%s\n", img_attr(idict));
     pdf_dict_add_int(pdf, "FormType", 1);
-    sprintf(s, "/BBox [%.8f %.8f %.8f %.8f]\n", int2bp(img_bbox(idict)[0]),
-            int2bp(img_bbox(idict)[1]), int2bp(img_bbox(idict)[2]),
-            int2bp(img_bbox(idict)[3]));
+    sprintf(s, "/BBox [%.8f %.8f %.8f %.8f]\n", sp2bp(img_bbox(idict)[0]),
+            sp2bp(img_bbox(idict)[1]), sp2bp(img_bbox(idict)[2]),
+            sp2bp(img_bbox(idict)[3]));
     pdf_printf(pdf, stripzeros(s));
     pdf_dict_add_streaminfo(pdf);
     pdf_end_dict(pdf);
diff --git a/source/texk/web2c/luatexdir/lua/lpdflib.c b/source/texk/web2c/luatexdir/lua/lpdflib.c
index 0a732e7297908887dd8d5507441eaadfb412b12f..ca515d34845b5588404af9c8511f63cfcc26583c 100644
--- a/source/texk/web2c/luatexdir/lua/lpdflib.c
+++ b/source/texk/web2c/luatexdir/lua/lpdflib.c
@@ -751,7 +751,7 @@ static int l_pageref(lua_State * L)
     n = (int) luaL_checkinteger(L, 1);
     if (n <= 0)
         luaL_error(L, "pdf.pageref() needs page number > 0");
-    n = get_obj(static_pdf, obj_type_page, n, false);
+    n = pdf_get_obj(static_pdf, obj_type_page, n, false);
     lua_pushnumber(L, n);
     return 1;
 }
diff --git a/source/texk/web2c/luatexdir/pdf/pdfaction.w b/source/texk/web2c/luatexdir/pdf/pdfaction.w
index ec55d2c7e898d405345bd14949e778e668b9578f..cb7671e4054c5500fe56429f54ddc211d2cb3a8e 100644
--- a/source/texk/web2c/luatexdir/pdf/pdfaction.w
+++ b/source/texk/web2c/luatexdir/pdf/pdfaction.w
@@ -157,7 +157,8 @@ void write_action(PDF pdf, halfword p)
             pdf_add_name(pdf, "D");
             pdf_begin_array(pdf);
             pdf_add_ref(pdf,
-                        get_obj(pdf, obj_type_page, pdf_action_id(p), false));
+                        pdf_get_obj(pdf, obj_type_page, pdf_action_id(p),
+                                    false));
         } else {
             pdf_add_name(pdf, "D");
             pdf_begin_array(pdf);
@@ -174,8 +175,8 @@ void write_action(PDF pdf, halfword p)
     case pdf_action_goto:
         if (pdf_action_file(p) == null) {
             pdf_dict_add_name(pdf, "S", "GoTo");
-            d = get_obj(pdf, obj_type_dest, pdf_action_id(p),
-                        pdf_action_named_id(p));
+            d = pdf_get_obj(pdf, obj_type_dest, pdf_action_id(p),
+                            pdf_action_named_id(p));
         } else
             pdf_dict_add_name(pdf, "S", "GoToR");
         if (pdf_action_named_id(p) > 0) {
@@ -192,8 +193,8 @@ void write_action(PDF pdf, halfword p)
     case pdf_action_thread:
         pdf_dict_add_name(pdf, "S", "Thread");
         if (pdf_action_file(p) == null) {
-            d = get_obj(pdf, obj_type_thread, pdf_action_id(p),
-                        pdf_action_named_id(p));
+            d = pdf_get_obj(pdf, obj_type_thread, pdf_action_id(p),
+                            pdf_action_named_id(p));
             if (pdf_action_named_id(p) > 0) {
                 char *tokstr =
                     tokenlist_to_cstring(pdf_action_id(p), true, NULL);
diff --git a/source/texk/web2c/luatexdir/pdf/pdfdest.w b/source/texk/web2c/luatexdir/pdf/pdfdest.w
index 45b9bfb63e60efa1ceed7a986d2b7557a7378bb8..880eac0a04ff3d147c88effb5ddfc5f6e376b1f2 100644
--- a/source/texk/web2c/luatexdir/pdf/pdfdest.w
+++ b/source/texk/web2c/luatexdir/pdf/pdfdest.w
@@ -92,7 +92,7 @@ void do_dest(PDF pdf, halfword p, halfword parent_box, scaledpos cur)
         pdf_error("ext4", "destinations cannot be inside an XForm");
     if (doing_leaders)
         return;
-    k = get_obj(pdf, obj_type_dest, pdf_dest_id(p), pdf_dest_named_id(p));
+    k = pdf_get_obj(pdf, obj_type_dest, pdf_dest_id(p), pdf_dest_named_id(p));
     if (obj_dest_ptr(pdf, k) != null) {
         warn_dest_dup(pdf_dest_id(p), (small_number) pdf_dest_named_id(p),
                       "ext4", "has been already used, duplicate ignored");
diff --git a/source/texk/web2c/luatexdir/pdf/pdfgen.w b/source/texk/web2c/luatexdir/pdf/pdfgen.w
index 30259ae0f265d1eee05d89e2b8aaa342d1dc8151..7d12bb2b077ae5e83910ffffc6158469ca87e2bc 100644
--- a/source/texk/web2c/luatexdir/pdf/pdfgen.w
+++ b/source/texk/web2c/luatexdir/pdf/pdfgen.w
@@ -1764,11 +1764,12 @@ void pdf_begin_page(PDF pdf)
         pdf->page_resources = xtalloc(1, pdf_resource_struct);
         pdf->page_resources->resources_tree = NULL;
     }
-    pdf->page_resources->last_resources = pdf_new_objnum(pdf);
+    pdf->page_resources->last_resources =
+        pdf_create_obj(pdf, obj_type_others, 0);
     reset_page_resources(pdf);
 
     if (global_shipping_mode == SHIPPING_PAGE) {
-        pdf->last_page = get_obj(pdf, obj_type_page, total_pages + 1, 0);
+        pdf->last_page = pdf_get_obj(pdf, obj_type_page, total_pages + 1, 0);
         set_obj_aux(pdf, pdf->last_page, 1);    /* mark that this page has been created */
         pdf->last_stream = pdf_create_obj(pdf, obj_type_pagestream, 0);
         pdf_begin_obj(pdf, pdf->last_stream, OBJSTM_NEVER);
diff --git a/source/texk/web2c/luatexdir/pdf/pdflink.w b/source/texk/web2c/luatexdir/pdf/pdflink.w
index 4610a9a369b194e01e4cdd368da00aaece7ca436..bd9dc53a8bb28e2b0fbd23285967f01957c25aed 100644
--- a/source/texk/web2c/luatexdir/pdf/pdflink.w
+++ b/source/texk/web2c/luatexdir/pdf/pdflink.w
@@ -61,7 +61,7 @@ void do_link(PDF pdf, halfword p, halfword parent_box, scaledpos cur)
         pdf_error("ext4", "link annotations cannot be inside an XForm");
     assert(type(parent_box) == hlist_node);
     if (is_obj_scheduled(pdf, pdf_link_objnum(p)))
-        pdf_link_objnum(p) = pdf_new_objnum(pdf);
+        pdf_link_objnum(p) = pdf_create_obj(pdf, obj_type_others, 0);
     push_link_level(pdf, p);
     alt_rule.wd = width(p);
     alt_rule.ht = height(p);
@@ -150,7 +150,7 @@ void scan_startlink(PDF pdf)
     halfword r;
     if (abs(cur_list.mode_field) == vmode)
         pdf_error("ext1", "\\pdfstartlink cannot be used in vertical mode");
-    k = pdf_new_objnum(pdf);
+    k = pdf_create_obj(pdf, obj_type_others, 0);
     new_annot_whatsit(pdf_start_link_node);
     set_pdf_link_attr(cur_list.tail_field, null);
     if (scan_keyword("attr")) {
diff --git a/source/texk/web2c/luatexdir/pdf/pdftables.h b/source/texk/web2c/luatexdir/pdf/pdftables.h
index a9f2a8993146d676b41092635a080c2190ad2223..2d760be57b65e0c084aa8268f14b7f516f5f0cd7 100644
--- a/source/texk/web2c/luatexdir/pdf/pdftables.h
+++ b/source/texk/web2c/luatexdir/pdf/pdftables.h
@@ -105,9 +105,8 @@ well.
 extern int find_obj(PDF pdf, int t, int i, boolean byname);
 extern void check_obj_exists(PDF pdf, int objnum);
 extern void check_obj_type(PDF pdf, int t, int objnum);
-extern int get_obj(PDF pdf, int t, int i, boolean byname);
+extern int pdf_get_obj(PDF pdf, int t, int i, boolean byname);
 extern int pdf_create_obj(PDF pdf, int t, int i);
-extern int pdf_new_objnum(PDF pdf);
 
 extern void set_rect_dimens(PDF pdf, halfword p, halfword parent_box,
                             scaledpos cur, scaled_whd alt_rule, scaled margin);
diff --git a/source/texk/web2c/luatexdir/pdf/pdftables.w b/source/texk/web2c/luatexdir/pdf/pdftables.w
index 7330627b512aa98aef76e7112d61e16e4e10595b..ed8055a6279788eeec89f27c7ffdd8f8e2d431ff 100644
--- a/source/texk/web2c/luatexdir/pdf/pdftables.w
+++ b/source/texk/web2c/luatexdir/pdf/pdftables.w
@@ -179,7 +179,7 @@ int find_obj(PDF pdf, int t, int i, boolean byname)
    |vlist_out|.
 
 @c
-int get_obj(PDF pdf, int t, int i, boolean byname)
+int pdf_get_obj(PDF pdf, int t, int i, boolean byname)
 {
     int r;
     str_number s;
@@ -206,15 +206,8 @@ int get_obj(PDF pdf, int t, int i, boolean byname)
     return r;
 }
 
-@ create a new object and return its number 
-
+@ object checking 
 @c
-int pdf_new_objnum(PDF pdf)
-{
-    int k = pdf_create_obj(pdf, obj_type_others, 0);
-    return k;
-}
-
 void check_obj_exists(PDF pdf, int objnum)
 {
     if (objnum < 0 || objnum > pdf->obj_ptr)
diff --git a/source/texk/web2c/luatexdir/pdf/pdfthread.w b/source/texk/web2c/luatexdir/pdf/pdfthread.w
index 379b9c0ba16df7078f9d66ba4085f8a10f16ad31..53d8721e3e96556c72b5543acd74500e782c2d9f 100644
--- a/source/texk/web2c/luatexdir/pdf/pdfthread.w
+++ b/source/texk/web2c/luatexdir/pdf/pdfthread.w
@@ -36,8 +36,9 @@ void append_bead(PDF pdf, halfword p)
     int a, b, c, t;
     if (global_shipping_mode == SHIPPING_FORM)
         pdf_error("ext4", "threads cannot be inside an XForm");
-    t = get_obj(pdf, obj_type_thread, pdf_thread_id(p), pdf_thread_named_id(p));
-    b = pdf_new_objnum(pdf);
+    t = pdf_get_obj(pdf, obj_type_thread, pdf_thread_id(p),
+                    pdf_thread_named_id(p));
+    b = pdf_create_obj(pdf, obj_type_others, 0);
     obj_bead_ptr(pdf, b) = pdf_get_mem(pdf, pdfmem_bead_size);
     set_obj_bead_page(pdf, b, pdf->last_page);
     set_obj_bead_data(pdf, b, p);
diff --git a/source/texk/web2c/luatexdir/tex/textoken.w b/source/texk/web2c/luatexdir/tex/textoken.w
index d7462553cb972c70553e54627e761ad388683a5a..1821a92f47d3c8412627b0d3d80c7f2b389ed418 100644
--- a/source/texk/web2c/luatexdir/tex/textoken.w
+++ b/source/texk/web2c/luatexdir/tex/textoken.w
@@ -1681,7 +1681,7 @@ static boolean print_convert_string(halfword c, int i)
         tprint("pt");
         break;
     case pdf_page_ref_code:
-        print_int(get_obj(static_pdf, obj_type_page, i, false));
+        print_int(pdf_get_obj(static_pdf, obj_type_page, i, false));
         break;
     case pdf_xform_name_code:
         print_int(obj_info(static_pdf, i));