diff --git a/Parser/grammar.c b/Parser/grammar.c
index 2cc15b58..1f01562 100644
--- a/Parser/grammar.c
+++ b/Parser/grammar.c
@@ -38,7 +38,7 @@
 		Py_FatalError("no mem to resize dfa in adddfa");
 	d = &g->g_dfa[g->g_ndfas++];
 	d->d_type = type;
-	d->d_name = name;
+	d->d_name = strdup(name);
 	d->d_nstates = 0;
 	d->d_state = NULL;
 	d->d_initial = -1;
@@ -98,7 +98,10 @@
 		Py_FatalError("no mem to resize labellist in addlabel");
 	lb = &ll->ll_label[ll->ll_nlabels++];
 	lb->lb_type = type;
-	lb->lb_str = str; /* XXX strdup(str) ??? */
+	lb->lb_str = strdup(str);
+	if (Py_DebugFlag)
+		printf("Label @ %08x, %d: %s\n", (unsigned)ll, ll->ll_nlabels,
+		       PyGrammar_LabelRepr(lb));
 	return lb - ll->ll_label;
 }
 
@@ -152,6 +155,7 @@
 					    lb->lb_str,
 					    g->g_dfa[i].d_type);
 				lb->lb_type = g->g_dfa[i].d_type;
+				free(lb->lb_str);
 				lb->lb_str = NULL;
 				return;
 			}
@@ -162,6 +166,7 @@
 					printf("Label %s is terminal %d.\n",
 						lb->lb_str, i);
 				lb->lb_type = i;
+				free(lb->lb_str);
 				lb->lb_str = NULL;
 				return;
 			}
@@ -173,18 +178,29 @@
 	if (lb->lb_type == STRING) {
 		if (isalpha((int)(lb->lb_str[1])) || lb->lb_str[1] == '_') {
 			char *p;
+			char *src;
+			char *dest;
+			size_t name_len;
 			if (Py_DebugFlag)
 				printf("Label %s is a keyword\n", lb->lb_str);
 			lb->lb_type = NAME;
-			lb->lb_str++;
-			p = strchr(lb->lb_str, '\'');
+			src = lb->lb_str + 1;
+			p = strchr(src, '\'');
 			if (p)
-				*p = '\0';
+				name_len = p - src;
+			else
+				name_len = strlen(src);
+			dest = malloc(name_len + 1);
+			strncpy(dest, src, name_len);
+			dest[name_len] = '\0';
+			free(lb->lb_str);
+			lb->lb_str = dest;
 		}
 		else if (lb->lb_str[2] == lb->lb_str[0]) {
 			int type = (int) PyToken_OneChar(lb->lb_str[1]);
 			if (type != OP) {
 				lb->lb_type = type;
+				free(lb->lb_str);
 				lb->lb_str = NULL;
 			}
 			else
@@ -196,6 +212,7 @@
 						   lb->lb_str[2]);
 			if (type != OP) {
 				lb->lb_type = type;
+				free(lb->lb_str);
 				lb->lb_str = NULL;
 			}
 			else
@@ -208,6 +225,7 @@
 							    lb->lb_str[3]);
 			if (type != OP) {
 				lb->lb_type = type;
+				free(lb->lb_str);
 				lb->lb_str = NULL;
 			}
 			else
