diff --git a/pd/src/g_radio.c b/pd/src/g_radio.c
index a51c832637c13fd2a85853c419a78b29c1f457fa..87f1eb3965f1ec36ce0db6c494b4c24170fafcbb 100644
--- a/pd/src/g_radio.c
+++ b/pd/src/g_radio.c
@@ -252,6 +252,8 @@ static void radio_dialog(t_radio *x, t_symbol *s, int argc, t_atom *argv)
             x->x_on_old = x->x_on;
         }
         iemgui_shouldvis(&x->x_gui, IEM_GUI_DRAW_MODE_NEW);
+        if (glist_isselected(x->x_gui.x_glist, (t_gobj *)x))
+            iemgui_select((t_gobj *)x, x->x_gui.x_glist, 1);
     }
     else
     {