diff --git a/pd/src/g_editor.c b/pd/src/g_editor.c
index 63ee599299e8c64b42a6e433992d079ef6608af3..f5f2d504bc69efaa871b0675918bbea962256c3a 100644
--- a/pd/src/g_editor.c
+++ b/pd/src/g_editor.c
@@ -92,10 +92,11 @@ int gobj_filter_highlight_behavior(t_rtext *y) {
 	char name[4];
 	int bufsize, i;
 	rtext_gettext(y, &buf, &bufsize);
-	for (i = 0; i < 3; i++) {
+	if (bufsize > 4) bufsize = 4;
+	for (i = 0; i < bufsize; i++) {
 		name[i] = buf[i];
 	}
-	name[3]='\0';
+	name[i]='\0';
 	//fprintf(stderr,"object name = >%s<\n", name);
 	if (!strcmp(name, "bng") ||
 		!strcmp(name, "nbx") ||