diff --git a/lib/any.js b/lib/any.js
index <HASH>..<HASH> 100644
--- a/lib/any.js
+++ b/lib/any.js
@@ -182,7 +182,7 @@ class Collector {
     if (this.one) {
       // Shouldn’t happen, safeguards performance problems.
       /* c8 ignore next */
-      if (this.found) throw new Error('Cannot collect multiple nodes')
+      if (this.found) return
       this.found = true
     }
 
diff --git a/test/select.js b/test/select.js
index <HASH>..<HASH> 100644
--- a/test/select.js
+++ b/test/select.js
@@ -76,6 +76,12 @@ test('select.select()', (t) => {
       'nothing if not given an element'
     )
 
+    t.deepEqual(
+      select('h1, h2', h('main', [h('h1', 'Alpha'), h('h2', 'Bravo')])),
+      h('h1', 'Alpha'),
+      'should select one of several elements'
+    )
+
     t.end()
   })
Fix exception on selector list in `select`