diff --git a/pd/src/t_tkcmd.c b/pd/src/t_tkcmd.c
index 777b182ed46bc220bb4d3877fe5d0e27518fbaa1..8114a51eda7808a895fa4ea4c7d30b11ca8ca6e0 100644
--- a/pd/src/t_tkcmd.c
+++ b/pd/src/t_tkcmd.c
@@ -553,17 +553,19 @@ static int pdCmd(ClientData cd, Tcl_Interp *interp, int argc,  char **argv)
 
 /***********  "c" level access to tk functions. ******************/
 
+#define DEBUG_TCL
+
 void tcl_mess(char *s)
 {
     int result;
 
-    // PRODUCTION VERSION
+#ifdef DEBUG_TCL
+    char catch_s[strlen(s)];
+    sprintf(catch_s, "%s", s);
+#else
     char catch_s[strlen(s)+10];
     sprintf(catch_s, "catch { %s }", s);
-
-    // DEBUGGING VERSION
-    //char catch_s[strlen(s)];
-    //sprintf(catch_s, "%s", s);
+#endif
 
     Tcl_Obj *messageObjPtr = Tcl_NewStringObj(catch_s,-1);
     Tcl_IncrRefCount(messageObjPtr);
@@ -571,7 +573,9 @@ void tcl_mess(char *s)
     Tcl_DecrRefCount(messageObjPtr);
     if (result != TCL_OK)
     {
-        if (tk_pdinterp) printf("%s\n",  Tcl_GetStringResult(tk_pdinterp));
+        if (tk_pdinterp) printf("in sys_gui \e[0;1;36m%s\e[31m%s\e[0m\n",
+            s, Tcl_GetStringResult(tk_pdinterp));
+        else printf("no error\n");
     }
 }