diff --git includes/view.inc includes/view.inc
index 8b92389..24478dc 100644
--- includes/view.inc
+++ includes/view.inc
@@ -699,6 +699,21 @@ class view extends views_db_object {
 
     vpr($query);
 
+    if ($query) {
+      $replacements = module_invoke_all('views_query_substitutions', $this);
+      $query = str_replace(array_keys($replacements), $replacements, $query);
+      $count_query = 'SELECT COUNT(*) FROM (' . str_replace(array_keys($replacements), $replacements, $count_query) . ') count_alias';
+
+      if (is_array($args)) {
+        foreach ($args as $id => $arg) {
+          $args[$id] = str_replace(array_keys($replacements), $replacements, $arg);
+        }
+      }
+
+      $this->build_info['query'] = $query;
+      $this->build_info['count_query'] = $count_query;
+      $this->build_info['query_args'] = $args;
+    }
 
     // Check for already-cached results.
     if (!empty($this->live_preview)) {
@@ -713,16 +728,6 @@ class view extends views_db_object {
     else {
       $items = array();
       if ($query) {
-        $replacements = module_invoke_all('views_query_substitutions', $this);
-        $query = str_replace(array_keys($replacements), $replacements, $query);
-        $count_query = 'SELECT COUNT(*) FROM (' . str_replace(array_keys($replacements), $replacements, $count_query) . ') count_alias';
-
-        if (is_array($args)) {
-          foreach ($args as $id => $arg) {
-            $args[$id] = str_replace(array_keys($replacements), $replacements, $arg);
-          }
-        }
-
         // Allow for a view to query an external database.
         if (isset($this->base_database)) {
           db_set_active($this->base_database);
