diff --git a/lib/static/views.js b/lib/static/views.js
index c1bc0c45a2acf65558e96ef882caf168fc19a4cc..cd498b0f4eb05f6411a9082b0af7d48df624f97c 100644
--- a/lib/static/views.js
+++ b/lib/static/views.js
@@ -161,6 +161,11 @@ exports.setup = function(app) {
     });
   });
 
+  app.get("/signup", function(req, res) {
+    res.header('Location', '/signin');
+    res.send(301);
+  });
+
   app.get("/signin", function(req, res) {
     renderCachableView(req, res, 'signin.ejs', {title: _('Sign In'), fullpage: false});
   });
diff --git a/tests/page-requests-test.js b/tests/page-requests-test.js
index 9978f428325bbfd93bdd9e546b9227cfe7c1e2c2..f7ea8bbb232c4df439f7dab14fb52e64ee551aac 100755
--- a/tests/page-requests-test.js
+++ b/tests/page-requests-test.js
@@ -56,6 +56,7 @@ function respondsWith(status) {
 suite.addBatch({
   'GET /':                       respondsWith(200),
   'GET /forgot':                 respondsWith(200),
+  'GET /signup':                 respondsWith(301),
   'GET /signin':                 respondsWith(200),
   'GET /about':                  respondsWith(200),
   'GET /tos':                    respondsWith(200),
@@ -64,14 +65,11 @@ suite.addBatch({
   'GET /add_email_address':      respondsWith(200),
   'GET /confirm':                respondsWith(200),
   'GET /reset_password':         respondsWith(200),
-  'GET /confirm':                respondsWith(200),
   'GET /idp_auth_complete':      respondsWith(200),
   'GET /pk':                     respondsWith(200),
   'GET /.well-known/browserid':  respondsWith(200),
-  'GET /signin':                 respondsWith(200),
   'GET /unsupported_dialog':     respondsWith(200),
   'GET /cookies_disabled':       respondsWith(200),
-  'GET /developers':             respondsWith(200),
   'GET /developers':             respondsWith(302),
   'GET /developers/':            respondsWith(302),
   'GET /test':                   respondsWith(301),