indicate we're not running as we leave this block
diff --git a/Objects/genobject.c b/Objects/genobject.c
index e41779e..b065fc7 100644
--- a/Objects/genobject.c
+++ b/Objects/genobject.c
@@ -356,6 +356,7 @@
                 PyErr_Clear();
                 Py_DECREF(yf);
                 gen_undelegate(gen);
+                gen->gi_running = 0;
                 goto throw_here;
             }
             ret = PyObject_CallObject(meth, args);