diff --git a/memopol/urls.py b/memopol/urls.py
index 6175d54bfeba0eea1022295ea078dc6b9ece7272..5f6e885fb6f5123cb3022d0f60f568a5c5257b30 100644
--- a/memopol/urls.py
+++ b/memopol/urls.py
@@ -9,6 +9,7 @@ from views.dossier_list import DossierList
 from views.group_list import GroupList
 from views.representative_detail import RepresentativeDetail
 from views.representative_list import RepresentativeList
+from views.redirects import RedirectGroupList
 
 import api
 
@@ -17,43 +18,53 @@ admin.autodiscover()
 urlpatterns = [
     # Project-specific overrides
     url(
-        r'^legislature/representatives?/(?P<group_kind>\w+)/(?P<chamber>.+)/' +
+        r'^legislature/representative/(?P<group_kind>\w+)/(?P<chamber>.+)/' +
         r'(?P<group>.+)/$',
         RepresentativeList.as_view(),
         name='representative-list'
     ),
     url(
-        r'^legislature/representatives?/(?P<group_kind>\w+)/(?P<group>.+)/$',
+        r'^legislature/representative/(?P<group_kind>\w+)/(?P<group>.+)/$',
         RepresentativeList.as_view(),
         name='representative-list'
     ),
     url(
-        r'^legislature/representatives?/(?P<slug>[-\w]+)/$',
+        r'^legislature/representative/$',
+        RepresentativeList.as_view(),
+        name='representative-list'
+    ),
+    url(
+        r'^legislature/representative/(?P<slug>[-\w]+)/$',
         RepresentativeDetail.as_view(),
         name='representative-detail'
     ),
     url(
-        r'^legislature/groups?/$',
+        r'^legislature/group/$',
         GroupList.as_view(),
         name='group-list'
     ),
     url(
-        r'^legislature/groups?/(?P<kind>\w+)/$',
+        r'^legislature/groups/$',
+        RedirectGroupList.as_view(),
+        name='group-list-redirect'
+    ),
+    url(
+        r'^legislature/group/(?P<kind>\w+)/$',
         GroupList.as_view(),
         name='group-list'
     ),
     url(
-        r'^legislature/representatives?/$',
-        RepresentativeList.as_view(),
-        name='representative-list'
+        r'^legislature/groups/(?P<kind>\w+)/$',
+        RedirectGroupList.as_view(),
+        name='group-list-redirect'
     ),
     url(
-        r'^votes/dossiers?/$',
+        r'^votes/dossier/$',
         DossierList.as_view(),
         name='dossier-list'
     ),
     url(
-        r'^votes/dossiers?/(?P<pk>\d+)/$',
+        r'^votes/dossier/(?P<pk>\d+)/$',
         DossierDetail.as_view(),
         name='dossier-detail'
     ),
diff --git a/memopol/views/redirects.py b/memopol/views/redirects.py
new file mode 100644
index 0000000000000000000000000000000000000000..876c7eabd7c83503eb62f1b49b0b1f7ab4d059cb
--- /dev/null
+++ b/memopol/views/redirects.py
@@ -0,0 +1,9 @@
+# coding: utf-8
+
+from django.views.generic.base import RedirectView
+
+
+class RedirectGroupList(RedirectView):
+    permanent = True
+    query_string = True
+    pattern_name = 'group-list'