diff --git a/pd/src/t_tkcmd.c b/pd/src/t_tkcmd.c
index 7737f9c0ca9898659aefbbd10ee82b8edc86f715..32102133aeb431d46839c2e958ab04fc7f25c35c 100644
--- a/pd/src/t_tkcmd.c
+++ b/pd/src/t_tkcmd.c
@@ -555,10 +555,10 @@ static int pdCmd(ClientData cd, Tcl_Interp *interp, int argc,  char **argv)
 void tcl_mess(char *s)
 {
     int result;
-	//char catch_s[strlen(s)+10];
-	//sprintf(catch_s, "catch { %s }", s);
-	char catch_s[strlen(s)];
-	sprintf(catch_s, "%s", s);
+	char catch_s[strlen(s)+10];
+	sprintf(catch_s, "catch { %s }", s);
+	//char catch_s[strlen(s)];
+	//sprintf(catch_s, "%s", s);
     Tcl_Obj *messageObjPtr = Tcl_NewStringObj(catch_s,-1);
     Tcl_IncrRefCount(messageObjPtr);
     result = Tcl_EvalObjEx(tk_pdinterp, messageObjPtr, TCL_EVAL_GLOBAL);