Index: subversion/libsvn_ra_dav/session.c
===================================================================
--- subversion/libsvn_ra_dav/session.c	(revision 8036)
+++ subversion/libsvn_ra_dav/session.c	(working copy)
@@ -763,16 +763,21 @@
     {
       svn_string_t bc_relative;
       apr_size_t len;
+      apr_size_t relative_len;
 
       SVN_ERR(svn_ra_dav__get_baseline_info(NULL, NULL, &bc_relative,
                                             NULL, ras->sess, ras->url,
                                             SVN_INVALID_REVNUM, pool));
 
+      /* Need to URI-encode bc_relative before determining length
+         since ras->url is URI-encoded */
+      relative_len = strlen (svn_path_uri_encode (bc_relative.data, pool));
+
       len = strlen(ras->url);
-      if (len <= bc_relative.len)
+      if (len <= relative_len)
         return svn_error_create(APR_EGENERAL, NULL,
                                 "Impossibly long relative url.");
-      len = len - bc_relative.len - 1;
+      len = len - relative_len - 1;
       ras->repos_root = apr_pstrmemdup(ras->pool, ras->url, len);
     }
 
