#3663: extra DECREF on syntax errors.
Patch by Amaury Forgeot d'Arc, reviewed by Benjamin Peterson.
diff --git a/Misc/NEWS b/Misc/NEWS
index d779132..2d91cb1 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -12,6 +12,8 @@
 Core and Builtins
 -----------------
 
+- Issue #3663: Py_None was decref'd when printing SyntaxErrors.
+
 - Issue #3657: Fix uninitialized memory read when pickling longs.
   Found by valgrind.
 
diff --git a/Python/pythonrun.c b/Python/pythonrun.c
index 1ee062f..39c86e7 100644
--- a/Python/pythonrun.c
+++ b/Python/pythonrun.c
@@ -1242,7 +1242,10 @@
 	if (exception == NULL)
 		return;
 	PyErr_NormalizeException(&exception, &v, &tb);
-	tb = tb ? tb : Py_None;
+	if (tb == NULL) {
+		tb = Py_None;
+		Py_INCREF(tb);
+	}
 	PyException_SetTraceback(v, tb);
 	if (exception == NULL)
 		return;