diff --git a/reviewboard/scmtools/core.py b/reviewboard/scmtools/core.py
index cc8c2f2f75af7c5344bdbd215474ff43600899dc..a8de4b79e56df32e40344a0a3f54e3d1aa5688ad 100644
--- a/reviewboard/scmtools/core.py
+++ b/reviewboard/scmtools/core.py
@@ -301,7 +301,8 @@ class SCMTool(object):
             return username, hostname
 
     @classmethod
-    def accept_certificate(cls, path, local_site_name=None, certificate=None):
+    def accept_certificate(cls, path, username=None, password=None,
+                           local_site_name=None, certificate=None):
         """Accepts the certificate for the given repository path."""
         raise NotImplementedError
 
diff --git a/reviewboard/scmtools/forms.py b/reviewboard/scmtools/forms.py
index b019e643d8d3bfd6aaaff6a53005465b1d6416c5..7535de2e7855fe732ccd66dcf2ddc5d6ee27d66d 100644
--- a/reviewboard/scmtools/forms.py
+++ b/reviewboard/scmtools/forms.py
@@ -991,7 +991,7 @@ class RepositoryForm(forms.ModelForm):
 
         for dep in scmtool_class.dependencies.get('modules', []):
             if not has_module(dep):
-                errors.append(_('The Python module "%s" is not installed.'
+                errors.append(_('The Python module "%s" is not installed. '
                                 'You may need to restart the server '
                                 'after installing it.') % dep)
 
@@ -1187,7 +1187,11 @@ class RepositoryForm(forms.ModelForm):
                 if self.cleaned_data['trust_host']:
                     try:
                         self.cert = scmtool_class.accept_certificate(
-                            path, self.local_site_name, e.certificate)
+                            path,
+                            username=username,
+                            password=password,
+                            local_site_name=self.local_site_name,
+                            certificate=e.certificate)
                     except IOError as e:
                         raise ValidationError(e)
                 else:
diff --git a/reviewboard/scmtools/svn/__init__.py b/reviewboard/scmtools/svn/__init__.py
index 2557de44c201d4dcaebec99128e5e8a426be251b..05f3d437527c061f3294f96fbef41b66afd33423 100644
--- a/reviewboard/scmtools/svn/__init__.py
+++ b/reviewboard/scmtools/svn/__init__.py
@@ -378,9 +378,11 @@ class SVNTool(SCMTool):
             client.accept_ssl_certificate(path, cls.on_ssl_failure)
 
     @classmethod
-    def accept_certificate(cls, path, local_site_name=None, certificate=None):
+    def accept_certificate(cls, path, username=None, password=None,
+                           local_site_name=None, certificate=None):
         """Accepts the certificate for the given repository path."""
-        client = cls.build_client(path, local_site_name=local_site_name)[1]
+        client = cls.build_client(path, username, password,
+                                  local_site_name=local_site_name)[1]
 
         return client.accept_ssl_certificate(path)
 
