Index: vendor/src/odbc/odbc-main.lisp
===================================================================
--- vendor/src/odbc/odbc-main.lisp	(revision vendor,6)
+++ vendor/src/odbc/odbc-main.lisp	(revision vendor,8)
@@ -204,18 +204,17 @@
     (nreverse res)))
 
-(defun bind-columns (query)
+(defun bind-columns (query columncount)
   (with-slots (hstmt 
                columns
                column-count) 
               query 
-    (let ((cc (result-columns-count hstmt)))
-      (when (zerop cc)
+      (when (zerop columncount)
         (error "can not bind columns, there is no result set"))
-      (setf column-count cc)
+      (setf column-count columncount)
       (setf columns (make-array column-count))
       (dotimes (pos column-count)
         ;; the columns are 0 based, at least here
         (let ((col (create-column hstmt pos)))
-          (setf (aref columns pos) col))))))
+          (setf (aref columns pos) col)))))
 
 (defun unbind-columns (query)
@@ -344,6 +343,7 @@
               (row-count (result-rows-count (hstmt query))))
           (loop
-            (when (zerop (result-columns-count (hstmt query))) (return))
-            (bind-columns query)
+            (let ((column-count (result-columns-count (hstmt query))))
+            (when (zerop column-count) (return))
+            (bind-columns query column-count)
             (let ((res (fetch-query-results query ))
                   (names (coerce (column-names query) 'list)))
@@ -351,5 +351,5 @@
               (unbind-columns query)
               (unless (%sql-more-results (hstmt query))
-                (return))))
+                (return)))))
           (let ((return-parameters (get-parameters query)))
             (values row-count (nreverse res-list) return-parameters))))
@@ -493,5 +493,5 @@
             (unless (= (column-count query) no-of-columns)
               (error "the number of columns has changed"))
-            (bind-columns query)))
+            (bind-columns query no-of-columns)))
         (values (fetch-query-results query)
                 (coerce (column-names query) 'list)))
