diff --git a/reviewboard/reviews/forms.py b/reviewboard/reviews/forms.py
index 04cd4fc1ee021e05301bf897a107001dcdd972f8..d48821cda35c75585b6cf78d9242ebdd75a2b913 100644
--- a/reviewboard/reviews/forms.py
+++ b/reviewboard/reviews/forms.py
@@ -171,15 +171,16 @@ class NewReviewRequestForm(forms.Form):
         if changenum:
             try:
                 changeset = repository.get_scmtool().get_changeset(changenum)
+            except ChangeSetError, e:
+                self.errors['changenum'] = forms.util.ErrorList([str(e)])
+                raise e
             except NotImplementedError:
                 # This scmtool doesn't have changesets
-                pass
+                self.errors['changenum'] = forms.util.ErrorList(['Changesets are not supported.'])
+                raise ChangeSetError()
             except SCMError, e:
                 self.errors['changenum'] = forms.util.ErrorList([str(e)])
                 raise ChangeSetError()
-            except ChangeSetError, e:
-                self.errors['changenum'] = forms.util.ErrorList([str(e)])
-                raise e
 
             if not changeset:
                 self.errors['changenum'] = forms.util.ErrorList([
