diff --git a/docs/manual/admin/configuration/users.txt b/docs/manual/admin/configuration/users.txt
index 5f3c29a38ad018765805b7bac5e2bcfa582f8a47..b48f8fbfcc590ac864955a85a0254c9bef7702f5 100644
--- a/docs/manual/admin/configuration/users.txt
+++ b/docs/manual/admin/configuration/users.txt
@@ -26,8 +26,9 @@ the username.
 A form will appear with the following fields:
 
 * **Username** (required)
-    The username. This is limited to letters, numbers, underscores (``_``) and
-    periods (``.``).
+    The username. This is limited to letters, numbers, underscores (``_``),
+    periods (``.``), at signs (``@``), apostrophes (``'``), and plus signs
+    (``+``).
 
     This field is usually left unchanged.
 
diff --git a/reviewboard/urls.py b/reviewboard/urls.py
index 56b2c68de296a77b7b6c90eb432c19f1f2bda77f..2c5901a5881bc6322380a7bd27083c7a8e39a354 100644
--- a/reviewboard/urls.py
+++ b/reviewboard/urls.py
@@ -89,9 +89,9 @@ localsite_urlpatterns = patterns('',
     # Users
     url(r'^users/$',
         'reviewboard.reviews.views.submitter_list', name="all-users"),
-    url(r"^users/(?P<username>[A-Za-z0-9@_\-\.']+)/$",
+    url(r"^users/(?P<username>[A-Za-z0-9@_\-\.'\+]+)/$",
         'reviewboard.reviews.views.submitter', name="user"),
-    url(r"^users/(?P<username>[A-Za-z0-9@_\-\.']+)/infobox/$",
+    url(r"^users/(?P<username>[A-Za-z0-9@_\-\.'\+]+)/infobox/$",
         'reviewboard.reviews.views.user_infobox', name="user-infobox"),
 
     # Groups
