diff --git plugins/views_plugin_pager_full.inc plugins/views_plugin_pager_full.inc
index d0bd59a..a6f71f1 100644
--- plugins/views_plugin_pager_full.inc
+++ plugins/views_plugin_pager_full.inc
@@ -218,26 +218,29 @@ class views_plugin_pager_full extends views_plugin_pager {
       }
     }
 
-    // Dump information about what we already know into the globals.
-    global $pager_page_array, $pager_total, $pager_total_items;
-
-    // Set the item count for the pager.
-    $pager_total_items[$this->options['id']] = $this->total_items;
-    // Calculate and set the count of available pages.
-    $pager_total[$this->options['id']] = ceil($pager_total_items[$this->options['id']] / $this->get_items_per_page());
+    // Don't set pager settings for items per page = 0.
+    $items_per_page =$this->get_items_per_page();
+    if (!empty($items_per_page)) {
+      // Dump information about what we already know into the globals.
+      global $pager_page_array, $pager_total, $pager_total_items;
+      // Set the item count for the pager.
+      $pager_total_items[$this->options['id']] = $this->total_items;
+      // Calculate and set the count of available pages.
+      $pager_total[$this->options['id']] = ceil($pager_total_items[$this->options['id']] / $this->get_items_per_page());
+
+      // See if the requested page was within range:
+      if ($this->current_page < 0) {
+        $this->current_page = 0;
+      }
+      else if ($this->current_page >= $pager_total[$this->options['id']]) {
+        // Pages are numbered from 0 so if there are 10 pages, the last page is 9.
+        $this->current_page = $pager_total[$this->options['id']] - 1;
+      }
 
-    // See if the requested page was within range:
-    if ($this->current_page < 0) {
-      $this->current_page = 0;
+      // Put this number in to guarantee that we do not generate notices when the pager
+      // goes to look for it later.
+      $pager_page_array[$this->options['id']] = $this->current_page;
     }
-    else if ($this->current_page >= $pager_total[$this->options['id']]) {
-      // Pages are numbered from 0 so if there are 10 pages, the last page is 9.
-      $this->current_page = $pager_total[$this->options['id']] - 1;
-    }
-
-    // Put this number in to guarantee that we do not generate notices when the pager
-    // goes to look for it later.
-    $pager_page_array[$this->options['id']] = $this->current_page;
   }
 
   function uses_exposed() {
diff --git tests/views_pager.test tests/views_pager.test
index 692d8b4..5ec6621 100644
--- tests/views_pager.test
+++ tests/views_pager.test
@@ -261,6 +261,26 @@ class ViewsPagerTest extends DrupalWebTestCase {
     $this->assertEqual(count($view->result), 3, t('Take sure that only a certain count of items is returned'));
 
     // TODO test number of pages.
+
+    // Test items per page = 0.
+    $view->destroy();
+
+    // Setup and test a offset.
+    $view = $this->viewsPagerFull();
+    $view->set_display('default');
+
+    $pager = array(
+      'type' => 'full',
+      'options' => array(
+        'offset' => 0,
+        'items_per_page' => 0,
+      ),
+    );
+
+    $view->display_handler->set_option('pager', $pager);
+    $view->execute();
+    $this->assertEqual($view->query->pager->get_items_per_page(), 0);
+    $this->assertEqual(count($view->result), 11);
   }
 
   function ViewsPagerFull() {
