diff --git a/qutebrowser/browser/hints.py b/qutebrowser/browser/hints.py
index 05833be80..1a6cd0538 100644
--- a/qutebrowser/browser/hints.py
+++ b/qutebrowser/browser/hints.py
@@ -750,25 +750,16 @@ class HintManager(QObject):
             raise cmdexc.CommandError("No URL set for this page yet!")
         self._context.args = args
         self._context.group = group
-        selector = self._get_selector()
+
+        try:
+            selector = webelem.css_selector(self._context.group,
+                                            self._context.baseurl)
+        except webelem.Error as e:
+            raise cmdexc.CommandError(str(e))
+
         self._context.tab.elements.find_css(selector, self._start_cb,
                                             only_visible=True)
 
-    def _get_selector(self):
-        """Get the CSS selectors for this url and hinting group."""
-        url = self._context.baseurl
-        group = self._context.group
-
-        selectors = config.instance.get('hints.selectors', url)
-        if group not in selectors:
-            selectors = config.val.hints.selectors
-
-            if group not in selectors:
-                raise cmdexc.CommandError("Undefined hinting group "
-                                          "'{}'!".format(group))
-
-        return ','.join(selectors[group])
-
     def current_mode(self):
         """Return the currently active hinting mode (or None otherwise)."""
         if self._context is None:
diff --git a/qutebrowser/browser/navigate.py b/qutebrowser/browser/navigate.py
index 69660e746..baeb7bf5b 100644
--- a/qutebrowser/browser/navigate.py
+++ b/qutebrowser/browser/navigate.py
@@ -150,6 +150,9 @@ def prevnext(*, browsertab, win_id, baseurl, prev=False,
         else:
             browsertab.openurl(url)
 
-    selectors = config.instance.get('hints.selectors', baseurl)
-    link_selector = ','.join(selectors['links'])
+    try:
+        link_selector = webelem.css_selector('links', baseurl)
+    except webelem.Error as e:
+        raise Error(str(e))
+
     browsertab.elements.find_css(link_selector, _prevnext_cb)
diff --git a/qutebrowser/browser/webelem.py b/qutebrowser/browser/webelem.py
index 681033e6d..e39eb5850 100644
--- a/qutebrowser/browser/webelem.py
+++ b/qutebrowser/browser/webelem.py
@@ -44,6 +44,18 @@ class OrphanedError(Error):
     pass
 
 
+def css_selector(group, url):
+    """Get a CSS selector for the given group/URL."""
+    selectors = config.instance.get('hints.selectors', url)
+    if group not in selectors:
+        selectors = config.val.hints.selectors
+
+        if group not in selectors:
+            raise Error("Undefined hinting group {!r}".format(group))
+
+    return ','.join(selectors[group])
+
+
 class AbstractWebElement(collections.abc.MutableMapping):
 
     """A wrapper around QtWebKit/QtWebEngine web element.
diff --git a/tests/end2end/features/hints.feature b/tests/end2end/features/hints.feature
index 1ecc70966..cf8527b03 100644
--- a/tests/end2end/features/hints.feature
+++ b/tests/end2end/features/hints.feature
@@ -192,7 +192,7 @@ Feature: Using hints
     Scenario: Error with invalid hint group
         When I open data/hints/buttons.html
         And I run :hint INVALID_GROUP
-        Then the error "Undefined hinting group 'INVALID_GROUP'!" should be shown
+        Then the error "Undefined hinting group 'INVALID_GROUP'" should be shown
 
     Scenario: Custom hint group
         When I open data/hints/custom_group.html
diff --git a/tests/end2end/features/navigate.feature b/tests/end2end/features/navigate.feature
index 23d8dd732..b5ad6ff54 100644
--- a/tests/end2end/features/navigate.feature
+++ b/tests/end2end/features/navigate.feature
@@ -80,6 +80,11 @@ Feature: Using :navigate
         And I run :navigate next
         Then the error "SyntaxError: Failed to execute 'querySelectorAll' on 'Document': '@' is not a valid selector." should be shown
 
+    Scenario: Navigating with no next selector
+        When I set hints.selectors to {'all': ['a']}
+        And I run :navigate next
+        Then the error "Undefined hinting group 'links'" should be shown
+
     # increment/decrement
 
     Scenario: Incrementing number in URL