diff --git a/Tests/Integration/EntryQueriesGeneratorsTest.php b/Tests/Integration/EntryQueriesGeneratorsTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..2f7a464e4c23f143b0fc5c2368906bee478f42ca
--- /dev/null
+++ b/Tests/Integration/EntryQueriesGeneratorsTest.php
@@ -0,0 +1,88 @@
+<?php
+
+
+namespace calderawp\CalderaFormsQuery\Tests\Integration;
+
+
+use calderawp\CalderaFormsQuery\EntryQueries;
+use calderawp\CalderaFormsQuery\QueriesEntries;
+use calderawp\CalderaFormsQuery\Select\EntryValues;
+use calderawp\CalderaFormsQuery\Tests\Traits\CanCreateEntryWithEmailField;
+use calderawp\CalderaFormsQuery\Tests\Traits\HasFactories;
+use calderawp\CalderaFormsQuery\Tests\Traits\UsersMockFormAsDBForm;
+
+class EntryQueriesGeneratorsTest extends IntegrationTestCase
+{
+	use CanCreateEntryWithEmailField;
+
+	/**
+	 * Test reset builder allows us to create new queries on generator
+	 *
+	 * @covers QueriesEntries::getEntryValueGenerator()
+	 * @covers EntryValues::resetQuery()
+	 */
+	public function testReset()
+	{
+		$emailOne = 'one@email.com';
+		$entryIdOne = $this->createEntryWithEmail($emailOne);
+		$emailTwo = 'two@email.com';
+		$entryIdTwo = $this->createEntryWithEmail($emailTwo);
+		$entryQueries = $this->entryQueriesFactory();
+
+		//Email one by email
+		$results = $entryQueries
+			->getResults(
+				$entryQueries
+					->getEntryValueGenerator()
+					->queryByFieldValue(
+						$this->getEmailFieldSlug(),
+						$emailOne
+					)
+				->getPreparedSql()
+			);
+		$this->assertSame(1, count($results));
+
+		//Email one by entry_id
+		$results = $entryQueries
+			->getResults(
+				$entryQueries
+					->getEntryValueGenerator()
+					->queryByEntryId(
+						$entryIdOne
+					)
+					->getPreparedSql()
+			);
+		$this->assertSame(1, count($results));
+
+		$entryQueries
+			->getEntryValueGenerator()
+			->resetQuery();
+
+		//Email two by email
+		$results = $entryQueries
+			->getResults(
+				$entryQueries
+					->getEntryValueGenerator()
+					->queryByFieldValue(
+						$this->getEmailFieldSlug(),
+						$emailTwo
+					)
+					->getPreparedSql()
+			);
+		$this->assertSame(1, count($results));
+
+		//Email two by entry_id
+		$results = $entryQueries
+			->getResults(
+				$entryQueries
+					->getEntryValueGenerator()
+					->queryByEntryId(
+						$entryIdTwo
+					)
+					->getPreparedSql()
+			);
+		$this->assertSame(1, count($results));
+
+	}
+
+}
\ No newline at end of file
diff --git a/Tests/Integration/EntryQueriesTest.php b/Tests/Integration/EntryQueriesTest.php
index c31d0dbf8b58c666b0af3bc687067987cbf32cde..50a2f59eb39a6ea0c95a228ba22653d529233b7b 100644
--- a/Tests/Integration/EntryQueriesTest.php
+++ b/Tests/Integration/EntryQueriesTest.php
@@ -5,6 +5,7 @@ namespace calderawp\CalderaFormsQuery\Tests\Integration;
 
 
 use calderawp\CalderaFormsQuery\EntryQueries;
+use calderawp\CalderaFormsQuery\Tests\Traits\CanCreateEntryWithEmailField;
 use calderawp\CalderaFormsQuery\Tests\Traits\HasFactories;
 use calderawp\CalderaFormsQuery\Tests\Traits\UsersMockFormAsDBForm;
 
@@ -58,4 +59,6 @@ class EntryQueriesTest extends IntegrationTestCase
 		$this->assertTrue( ! empty( $resultsTwo ), var_export( $resultsTwo, true ) );
 
 	}
+
+
 }
\ No newline at end of file
diff --git a/Tests/Unit/Delete/DeleteQueryBuilderTest.php b/Tests/Unit/Delete/DeleteQueryBuilderTest.php
index be97ae6b07ca0bbd18fae57020419388d7f95721..10db4db1da186121f14fc013f5ad92c48c2bc629 100644
--- a/Tests/Unit/Delete/DeleteQueryBuilderTest.php
+++ b/Tests/Unit/Delete/DeleteQueryBuilderTest.php
@@ -110,4 +110,14 @@ class DeleteQueryBuilderTest extends TestCase
 		$entryGenerator->resetBuilder( $newBuilder );
 		$this->assertSame( $newBuilder, $entryGenerator->getBuilder( ) );
 	}
+
+	public function testResetOfQuery()
+	{
+		$entryGenerator = $this->entryDeleteGeneratorFactory();
+		$entryGenerator->deleteByUserId(55 );
+		$entryGenerator->resetQuery();
+		$entryGenerator->deleteByUserId( 42 );
+		$this->assertTrue( is_int( strpos( $entryGenerator->getPreparedSql(), '42' ) ) );
+		$this->assertTrue( ! is_int( strpos( $entryGenerator->getPreparedSql(), '55' ) ) );
+	}
 }
diff --git a/Tests/Unit/EntryQueriesTest.php b/Tests/Unit/EntryQueriesTest.php
index b87a1b34ffd82ba99eb09ec8bf54597ddbf75445..0ca9c6f4be05ec61eabe99bde91838e7fabd5175 100644
--- a/Tests/Unit/EntryQueriesTest.php
+++ b/Tests/Unit/EntryQueriesTest.php
@@ -45,4 +45,5 @@ class EntryQueriesTest extends TestCase
 		$queries = $this->entryQueriesFactory();
 		$this->assertTrue(is_array($queries->getResults("SELECT `roy` FROM sivan WHERE mike = 'roy'")));
 	}
+
 }
diff --git a/src/CreatesSqlQueries.php b/src/CreatesSqlQueries.php
index dde46005eba8754232d13dde7b3885df87488baa..5b8eb833b25fc6fb9fe8aa41bb0602852dd5e1e1 100644
--- a/src/CreatesSqlQueries.php
+++ b/src/CreatesSqlQueries.php
@@ -39,4 +39,11 @@ interface CreatesSqlQueries
 	 * @return $this
 	 */
 	public function resetBuilder( MySqlBuilder $builder = null );
+
+	/**
+	 * Reset the query
+	 *
+	 * @return $this
+	 */
+	public function resetQuery();
 }
diff --git a/src/Delete/DeleteQueryBuilder.php b/src/Delete/DeleteQueryBuilder.php
index f55c08aa1703f1c9e54066a78ea61105f8104880..94bbd5b1f2892f99cfb144746b9bfdd55d9b2294 100644
--- a/src/Delete/DeleteQueryBuilder.php
+++ b/src/Delete/DeleteQueryBuilder.php
@@ -20,7 +20,7 @@ abstract class DeleteQueryBuilder extends QueryBuilder implements DoesDeleteQuer
 	public function getDeleteQuery()
 	{
 		if (! $this->deleteQuery) {
-			$this->deleteQuery = new Delete($this->getTableName());
+			$this->setNewQuery();
 		}
 
 		return $this->deleteQuery;
@@ -33,4 +33,18 @@ abstract class DeleteQueryBuilder extends QueryBuilder implements DoesDeleteQuer
 	{
 		return $this->getDeleteQuery();
 	}
+
+	/** @inheritdoc */
+	public function resetQuery()
+	{
+		$this->setNewQuery();
+	}
+
+	/**
+	 * Set a new delete query
+	 */
+	private function setNewQuery()
+	{
+		$this->deleteQuery = new Delete($this->getTableName());
+	}
 }
diff --git a/src/Select/SelectQueryBuilder.php b/src/Select/SelectQueryBuilder.php
index 57891b5984bc8d73ce220e6e4c0de5073a09e368..d2b37f1f26b9bf71e7acbff415057f71a0ff4c41 100644
--- a/src/Select/SelectQueryBuilder.php
+++ b/src/Select/SelectQueryBuilder.php
@@ -23,7 +23,7 @@ abstract class SelectQueryBuilder extends QueryBuilder implements DoesSelectQuer
 	{
 
 		if (empty($this->selectQuery)) {
-			$this->selectQuery = new \NilPortugues\Sql\QueryBuilder\Manipulation\Select($this->getTableName());
+			$this->setNewQuery();
 		}
 		return $this->selectQuery;
 	}
@@ -49,4 +49,17 @@ abstract class SelectQueryBuilder extends QueryBuilder implements DoesSelectQuer
 	}
 
 
+	/** @inheritdoc */
+	public function resetQuery()
+	{
+		$this->setNewQuery();
+		return $this;
+	}
+
+	private function setNewQuery()
+	{
+		$this->selectQuery = new \NilPortugues\Sql\QueryBuilder\Manipulation\Select($this->getTableName());
+	}
+
+
 }