Index: /trunk/lib/Data/ObjectDriver/Driver/DBI.pm
===================================================================
--- /trunk/lib/Data/ObjectDriver/Driver/DBI.pm (revision 97)
+++ /trunk/lib/Data/ObjectDriver/Driver/DBI.pm (revision 98)
@@ -473,16 +473,18 @@
             }
         }
+
+        ## Set statement's ORDER clause if any.
+        if ($args->{sort} || $args->{direction}) {
+            my $order = $args->{sort} || 'id';
+            my $dir = $args->{direction} &&
+                      $args->{direction} eq 'descend' ? 'DESC' : 'ASC';
+            $stmt->order({
+                column => $dbd->db_column_name($tbl, $order),
+                desc   => $dir,
+            });
+        }
     }
     $stmt->limit($args->{limit}) if $args->{limit};
     $stmt->offset($args->{offset}) if $args->{offset};
-    if ($args->{sort} || $args->{direction}) {
-        my $order = $args->{sort} || 'id';
-        my $dir = $args->{direction} &&
-                  $args->{direction} eq 'descend' ? 'DESC' : 'ASC';
-        $stmt->order({
-            column => $order,
-            desc   => $dir,
-        });
-    }
     $stmt;
 }
