diff --git a/reviewboard/scmtools/cvs.py b/reviewboard/scmtools/cvs.py
index d44115105c5c0f62f3ee3f157a9ce87235110c24..41e88ffaebc9842690ce167eaf18d1a9d077253f 100644
--- a/reviewboard/scmtools/cvs.py
+++ b/reviewboard/scmtools/cvs.py
@@ -153,7 +153,7 @@ class CVSTool(SCMTool):
         client = CVSClient(cvsroot, repopath, local_site_name)
 
         try:
-            client.cat_file('CVSROOT/modules', HEAD)
+            client.check_repository()
         except (SCMError, SSHError, FileNotFoundError):
             raise RepositoryNotFoundError()
 
@@ -326,3 +326,10 @@ class CVSClient(object):
 
         self.cleanup()
         return contents
+
+    def check_repository(self):
+        p = SCMTool.popen(['cvs', '-f', '-d', self.cvsroot, 'rls'],
+                          self.local_site_name)
+        errmsg = six.text_type(p.stderr.read())
+        if p.wait() != 0:
+            raise SCMError(errmsg)
