diff --git a/plugins/views/views_php_handler_field.inc b/plugins/views/views_php_handler_field.inc
index 9164d9a..b578b41 100644
--- a/plugins/views/views_php_handler_field.inc
+++ b/plugins/views/views_php_handler_field.inc
@@ -130,12 +130,22 @@ class views_php_handler_field extends views_handler_field {
     if (!empty($this->options['php_value'])) {
       $function = create_function('$view, $handler, &$static, $row, $data', $this->options['php_value'] . ';');
       ob_start();
+
+
+      // only execute php code for items which are on the current page
+      $items = $this->query->pager->get_items_per_page();
+      $current_page = $this->query->pager->get_current_page() + 1;
+      $max_limiter = $items * $current_page;
+      $min_limiter = $items * $current_page - $items;
       foreach ($this->view->result as $i => &$row) {
-        $normalized_row = new stdClass;
-        foreach ($this->view->display_handler->get_handlers('field') as $field => $handler) {
-          $normalized_row->$field = isset($row->{$handler->field_alias}) ? $row->{$handler->field_alias} : NULL;
+        if ($i >= $min_limiter && $i < $max_limiter){
+          $normalized_row = new stdClass;
+          foreach ($this->view->display_handler->get_handlers('field') as $field => $handler) {
+            $normalized_row->$field = isset($row->{$handler->field_alias}) ? $row->{$handler->field_alias} : NULL;
+          }
+          $row->{$this->field_alias} = $function($this->view, $this, $this->php_static_variable, $normalized_row, $row);
+        
         }
-        $row->{$this->field_alias} = $function($this->view, $this, $this->php_static_variable, $normalized_row, $row);
       }
       ob_end_clean();
     }
