diff --git a/internal/sqladapter/testing/adapter.go.tpl b/internal/sqladapter/testing/adapter.go.tpl
index 88d431a6e1366ab6887d51b2d0d92bf75a9c9aa2..1185168e3ed7128354e8c64a020a289dde3a6dc3 100644
--- a/internal/sqladapter/testing/adapter.go.tpl
+++ b/internal/sqladapter/testing/adapter.go.tpl
@@ -1099,6 +1099,14 @@ func TestBuilder(t *testing.T) {
 	assert.NoError(t, err)
 	assert.NotZero(t, all)
 
+	// Using explicit iterator to fetch one item.
+	var item map[string]interface{}
+	iter = sess.SelectFrom("artist").Iterator()
+	err = iter.One(&item)
+
+	assert.NoError(t, err)
+	assert.NotZero(t, item)
+
 	// Using explicit iterator and NextScan.
 	iter = sess.SelectFrom("artist").Iterator()
 	var id int
diff --git a/lib/sqlbuilder/select.go b/lib/sqlbuilder/select.go
index 3483b91f4408a7551f312449771c0a75294ff2bd..be8f48b98998a53ad262ff8820ec6a1440308556 100644
--- a/lib/sqlbuilder/select.go
+++ b/lib/sqlbuilder/select.go
@@ -234,5 +234,5 @@ func (qs *selector) All(destSlice interface{}) error {
 }
 
 func (qs *selector) One(dest interface{}) error {
-	return qs.Iterator().All(dest)
+	return qs.Iterator().One(dest)
 }