diff --git a/src/interfaces/odbc/statement.c b/src/interfaces/odbc/statement.c
index 185c78bf633f1403ecb7148f132484cef6c88279..06d97f7457e99f97a991e45bd883900b440995f3 100644
--- a/src/interfaces/odbc/statement.c
+++ b/src/interfaces/odbc/statement.c
@@ -22,8 +22,10 @@
 #include "qresult.h"
 #include "convert.h"
 #include "environ.h"
+
 #include <stdio.h>
 #include <string.h>
+#include <ctype.h>
 
 #ifndef WIN32
 #include "iodbc.h"
@@ -353,6 +355,10 @@ statement_type(char *statement)
 {
 int i;
 
+	/* ignore leading whitespace in query string */
+	while (*statement && isspace((unsigned char) *statement))
+		statement++;
+
 	for (i = 0; Statement_Type[i].s; i++)
 		if ( ! strnicmp(statement, Statement_Type[i].s, strlen(Statement_Type[i].s)))
 			return Statement_Type[i].type;