diff --git a/lib/Thulium/Db/ModelQueryBuilder.php b/lib/Thulium/Db/ModelQueryBuilder.php
index <HASH>..<HASH> 100644
--- a/lib/Thulium/Db/ModelQueryBuilder.php
+++ b/lib/Thulium/Db/ModelQueryBuilder.php
@@ -127,4 +127,14 @@ class ModelQueryBuilder
         return $this;
     }
 
+    function __clone()
+    {
+        $this->_query = clone $this->_query;
+    }
+
+    function copy()
+    {
+        return clone $this;
+    }
+
 }
\ No newline at end of file
diff --git a/test/lib/Thulium/Db/ModelQueryBuilderTest.php b/test/lib/Thulium/Db/ModelQueryBuilderTest.php
index <HASH>..<HASH> 100644
--- a/test/lib/Thulium/Db/ModelQueryBuilderTest.php
+++ b/test/lib/Thulium/Db/ModelQueryBuilderTest.php
@@ -449,4 +449,21 @@ class ModelQueryBuilderTest extends DbTransactionalTestCase
         $this->assertCount(1, $products);
         $this->assertEquals($product, $products[0]);
     }
+
+    /**
+     * @test
+     */
+    public function shouldCloneBuilder()
+    {
+        //given
+        $product = Product::create(array('name' => 'a'));
+        $query = Product::where();
+
+        //when
+        $query->copy()->where(array('name' => 'other'))->count();
+
+        //then
+        $this->assertEquals($product, $query->fetch());
+    }
+
 }
\ No newline at end of file
ModelQueryBuilder: added method 'copy'