diff --git a/pd/nw/pdgui.js b/pd/nw/pdgui.js
index a25c984635fbeaf3a207ca27062ca3bbf7870639..f366d13219e6f4c07989f2b9643f7e25a8072ec8 100644
--- a/pd/nw/pdgui.js
+++ b/pd/nw/pdgui.js
@@ -2008,7 +2008,7 @@ function gui_atom_draw_border(cid, tag, type, width, height) {
     }
 }
 
-function gui_atom_redraw_border(cid, tag, is_dropdown, width, height) {
+function gui_atom_redraw_border(cid, tag, type, width, height) {
     var g = get_gobj(cid, tag),
         p, a;
     // Unfortunately Pd will send updates for gui objects that
@@ -2022,12 +2022,12 @@ function gui_atom_redraw_border(cid, tag, is_dropdown, width, height) {
         // So we have to check for existence here...
         if (p) {
             configure_item(p, {
-                points: atom_border_points(width, height)
+                points: atom_border_points(width, height, type !== 0)
             });
-            if (!!is_dropdown) {
+            if (type !== 0) {
                 a = g.querySelectorAll("polygon")[1];
                 configure_item(a , {
-                    points: atom_arrow_points(width, height)
+                    points: atom_arrow_points(width, height),
                 });
             }
         }
diff --git a/pd/src/g_text.c b/pd/src/g_text.c
index d04d0fd94134033b1269cea2e8880ca262773add..d29b5c0379b0cc1b17d50f4117f6ce97570e5aa0 100644
--- a/pd/src/g_text.c
+++ b/pd/src/g_text.c
@@ -2744,7 +2744,8 @@ void text_drawborder(t_text *x, t_glist *glist,
             gui_vmess("gui_atom_redraw_border", "xsiii",
                 glist_getcanvas(glist),
                 tag,
-                pd_class(&x->te_pd) == dropdown_class ? 1 : 0,
+                pd_class(&x->te_pd) == dropdown_class ?
+                    ((t_dropdown *)x)->a_outtype + 1 : 0,
                 x2 - x1,
                 y2 - y1);
         }