diff --git a/Python/compile.c b/Python/compile.c
index e09204e..f239bb6 100644
--- a/Python/compile.c
+++ b/Python/compile.c
@@ -1043,7 +1043,7 @@
 static void
 com_list_comprehension(struct compiling *c, node *n)
 {
-	/* listmaker: test list_iter */
+	/* listmaker: test list_for */
 	char tmpname[12];
 	sprintf(tmpname, "__%d__", ++c->c_tmpname);
 	com_addoparg(c, BUILD_LIST, 0);
@@ -1052,7 +1052,7 @@
 	com_addopnamestr(c, LOAD_ATTR, "append");
 	com_addopnamestr(c, STORE_NAME, tmpname);
 	com_pop(c, 1);
-	com_list_iter(c, n, CHILD(n, 0), tmpname);
+	com_list_for(c, CHILD(n, 1), CHILD(n, 0), tmpname);
 	com_addopnamestr(c, DELETE_NAME, tmpname);
 	--c->c_tmpname;
 }
@@ -1060,8 +1060,8 @@
 static void
 com_listmaker(struct compiling *c, node *n)
 {
-	/* listmaker: test ( list_iter | (',' test)* [','] ) */
-	if (NCH(n) > 1 && TYPE(CHILD(n, 1)) == list_iter)
+	/* listmaker: test ( list_for | (',' test)* [','] ) */
+	if (NCH(n) > 1 && TYPE(CHILD(n, 1)) == list_for)
 		com_list_comprehension(c, n);
 	else {
 		int len = 0;
diff --git a/Python/graminit.c b/Python/graminit.c
index a62b62e..c8570ff 100644
--- a/Python/graminit.c
+++ b/Python/graminit.c
@@ -1317,7 +1317,7 @@
 	{1, arcs_59_3},
 };
 static arc arcs_60_0[2] = {
-	{128, 1},
+	{120, 1},
 	{129, 1},
 };
 static arc arcs_60_1[1] = {
@@ -1340,7 +1340,7 @@
 	{9, 4},
 };
 static arc arcs_61_4[2] = {
-	{120, 5},
+	{128, 5},
 	{0, 4},
 };
 static arc arcs_61_5[1] = {
@@ -1361,7 +1361,7 @@
 	{21, 2},
 };
 static arc arcs_62_2[2] = {
-	{120, 3},
+	{128, 3},
 	{0, 2},
 };
 static arc arcs_62_3[1] = {
@@ -1622,7 +1622,7 @@
 	{25, 0},
 	{2, 0},
 	{3, 0},
-	{316, 0},
+	{317, 0},
 	{1, "lambda"},
 	{314, 0},
 	{307, 0},
@@ -1630,7 +1630,7 @@
 	{309, 0},
 	{1, "class"},
 	{315, 0},
-	{317, 0},
+	{316, 0},
 	{318, 0},
 };
 grammar _PyParser_Grammar = {
