diff --git a/src/interfaces/odbc/environ.c b/src/interfaces/odbc/environ.c
index 3190adfd8b5c89d22fa1598beb2d647f8d594819..a85470fee152d2778ef9fd98436ffc537ee4cc64 100644
--- a/src/interfaces/odbc/environ.c
+++ b/src/interfaces/odbc/environ.c
@@ -111,7 +111,7 @@ int status;
                     strcpy(szSqlState, "00000");
                     // just information that is returned, no error
                     break;
-                case STMT_EXEC_ERROR:
+                case STMT_BAD_ERROR:
                     strcpy(szSqlState, "08S01");
                     // communication link failure
                     break;
@@ -195,6 +195,7 @@ int status;
 					strcpy(szSqlState, "S1011");
 					break;
 
+				case STMT_EXEC_ERROR:
 				default:
                     strcpy(szSqlState, "S1000");
                     // also a general error
diff --git a/src/interfaces/odbc/statement.c b/src/interfaces/odbc/statement.c
index e8a8b17b36da6b0e665a47428544d445b15e5bfe..c11a0ab21691865f004de0328fe178e0c1174c40 100644
--- a/src/interfaces/odbc/statement.c
+++ b/src/interfaces/odbc/statement.c
@@ -875,7 +875,7 @@ QueryInfo qi;
 			*/
 		}
 		else {
-			self->errornumber = STMT_EXEC_ERROR;
+			self->errornumber = STMT_BAD_ERROR;
 			self->errormsg = "Error while executing the query";
 		}
 
diff --git a/src/interfaces/odbc/statement.h b/src/interfaces/odbc/statement.h
index d2d86e430a259e9b15d6ba3dde6dc5e3f6a29427..bd551d3ba79fc910df36bd6760c215055007cc53 100644
--- a/src/interfaces/odbc/statement.h
+++ b/src/interfaces/odbc/statement.h
@@ -74,6 +74,7 @@ typedef enum {
 #define STMT_VALUE_OUT_OF_RANGE 24
 #define STMT_OPERATION_INVALID 25
 #define STMT_PROGRAM_TYPE_OUT_OF_RANGE 26
+#define STMT_BAD_ERROR 27
 
 /* statement types */
 enum {