diff --git a/pd/src/g_template.c b/pd/src/g_template.c
index 035cfe4f3c13caf5787796ec19d4133c2a8433c7..aec7ed311bb65479f113310a487656c43584181a 100644
--- a/pd/src/g_template.c
+++ b/pd/src/g_template.c
@@ -7625,11 +7625,14 @@ t_canvas *canvas_templatecanvas_forgroup(t_canvas *c)
     t_binbuf *b = c->gl_obj.te_binbuf;
     if (!b)
     {
-    return c;
-    }
-    t_atom *argv = binbuf_getvec(c->gl_obj.te_binbuf);
-    if (argv[0].a_type == A_SYMBOL &&
-        argv[0].a_w.w_symbol == gensym("group"))
+        return c;
+    }
+    t_atom *argv = binbuf_getvec(b);
+    if (binbuf_getnatom(b) > 1 &&
+        argv[0].a_type == A_SYMBOL &&
+        argv[0].a_w.w_symbol == gensym("draw") &&
+        argv[1].a_type == A_SYMBOL &&
+        argv[1].a_w.w_symbol == gensym("group"))
     {
         templatecanvas = canvas_templatecanvas_forgroup(c->gl_owner);
     }