diff --git a/funcs/func_odbc.c b/funcs/func_odbc.c
index dbb5ace453821b1e7728ffc995cb42ca9b00e275..944fc1da2f0ac99fda93fdb89ff7aaf29aa96179 100644
--- a/funcs/func_odbc.c
+++ b/funcs/func_odbc.c
@@ -331,6 +331,7 @@ static int acf_odbc_write(struct ast_channel *chan, const char *cmd, char *s, co
 
 			if (obj && !transactional) {
 				ast_odbc_release_obj(obj);
+				obj = NULL;
 			}
 		}
 	}
@@ -350,6 +351,8 @@ static int acf_odbc_write(struct ast_channel *chan, const char *cmd, char *s, co
 				SQLRowCount(stmt, &rows);
 				break;
 			}
+			ast_odbc_release_obj(obj);
+			obj = NULL;
 		}
 	} else if (stmt) {
 		status = "SUCCESS";