diff --git a/model/ArrayList.php b/model/ArrayList.php
index <HASH>..<HASH> 100644
--- a/model/ArrayList.php
+++ b/model/ArrayList.php
@@ -130,7 +130,9 @@ class ArrayList extends ViewableData implements SS_List, SS_Filterable, SS_Sorta
 	 * @return ArrayList 
 	 */
 	public function limit($length, $offset = 0) {
-		return new ArrayList(array_slice($this->items, $offset, $length));
+		$list = clone $this;
+		$list->items = array_slice($this->items, $offset, $length);
+		return $list;
 	}
 
 	/**
FIX Make sure ArrayList#limit uses clone so for subclasses it returns instances of same subclass