diff --git a/view_unpublished.module b/view_unpublished.module
index d7d3470..9393e11 100644
--- a/view_unpublished.module
+++ b/view_unpublished.module
@@ -123,3 +123,25 @@ function view_unpublished_views_query_substitutions() {
 
   return $substitutions;
 }
+
+/**
+ * Implements hook_query_alter();
+ */
+function view_unpublished_query_alter($query) {
+  if (arg(0) == 'admin' && arg(1) == 'content' && user_access('view any unpublished content')) {
+    $conditions =& $query->conditions();
+    foreach ($conditions as $key => $condition) {
+      // For some queries $condition['field'] is not a string so we need a check for that.
+      if (isset($condition['field']) && is_string($condition['field']) && $condition['field'] == 'n.status') {
+        if (get_class($query) == 'TableSort') {
+          if ($key == count($conditions) - 2) {
+            // This condition is (probably) coming from modules/node/node.admin.inc,
+            // function node_admin_nodes():       $query->condition('n.status', 1);
+            // We don't need it.
+            unset($conditions[$key]);
+          }
+        }
+      }
+    }
+  }
+}
