diff --git a/Modules/_csv.c b/Modules/_csv.c
index 75cafb26085b024ef145725b70c5efb8ff32a12c..afa7810b566b02d0c5802186635645c39e3475e5 100644
--- a/Modules/_csv.c
+++ b/Modules/_csv.c
@@ -793,14 +793,13 @@ Reader_iternext(ReaderObj *self)
 					     "newline inside string");
                         return NULL;
                 }
-		if (!PyUnicode_Check(lineobj))
-		{
-			PyErr_Format(error_obj,
-				     "Iterator should return strings, "
-				     "not %.200s "
-				     "(did you open the file in text mode?)",
+		if (!PyUnicode_Check(lineobj)) {
+			PyErr_Format(error_obj, "iterator should return "
+				     "strings, not %.200s (did you open "
+				     "the file in text mode?)",
 				     lineobj->ob_type->tp_name
 				);
+			Py_DECREF(lineobj);
 			return NULL;
 		}
                 ++self->line_num;