diff --git a/execute.c b/execute.c
index 1339b58..4e3c533 100644
--- a/execute.c
+++ b/execute.c
@@ -1065,6 +1065,12 @@ mylog("prepareParameters was %s called, prepare state:%d\n", shouldParse == nCal
 			parse_sqlsvr(stmt);
 	}
 
+	/*
+	 * Clear any old result sets before executing. The prepare stage might've
+	 * created one.
+	 */
+	SC_set_Result(stmt, NULL);
+
 next_param_row:
 #if (ODBCVER >= 0x0300)
 	if (apdopts->param_operation_ptr)
