diff --git a/package.json b/package.json
index 198a29cec..cac9c2b45 100644
--- a/package.json
+++ b/package.json
@@ -49,7 +49,8 @@
     "stable": "^0.1.5",
     "strong-remoting": "^2.13.2",
     "uid2": "0.0.3",
-    "underscore.string": "~2.3.3"
+    "underscore.string": "~2.3.3",
+    "depd": "~1.0.0"
   },
   "peerDependencies": {
     "loopback-datasource-juggler": "^2.17.0"
diff --git a/server/middleware/rest.js b/server/middleware/rest.js
index c2711e361..6d22ab59a 100644
--- a/server/middleware/rest.js
+++ b/server/middleware/rest.js
@@ -4,6 +4,7 @@
 
 var loopback = require('../../lib/loopback');
 var async = require('async');
+var deprecate = require('depd')('loopback');
 
 /*!
  * Export the middleware.
@@ -28,10 +29,16 @@ function rest() {
   return function restApiHandler(req, res, next) {
     var app = req.app;
 
-    if (req.url === '/routes') {
-      return res.send(app.handler('rest').adapter.allRoutes());
-    } else if (req.url === '/models') {
-      return res.send(app.remotes().toJSON());
+    // added for https://github.com/strongloop/loopback/issues/1134
+    var legacyExplorer = (undefined === app.get('legacyExplorer') || app.get('legacyExplorer')) ? true : false;
+
+    if (legacyExplorer && 'get' === req.method.toLowerCase()) {
+      deprecate('legacyExplorer: Update config.json to disable legacyExplorer routes');
+      if (req.url === '/routes') {
+        return res.send(app.handler('rest').adapter.allRoutes());
+      } else if (req.url === '/models') {
+        return res.send(app.remotes().toJSON());
+      }
     }
 
     if (!handlers) {
diff --git a/test/rest.middleware.test.js b/test/rest.middleware.test.js
index 429f3fc81..f76da7369 100644
--- a/test/rest.middleware.test.js
+++ b/test/rest.middleware.test.js
@@ -164,6 +164,40 @@ describe('loopback.rest', function() {
     }, done);
   });
 
+  it('should report 200 for legacy explorer route /routes', function(done) {
+    app.model(MyModel);
+    app.use(loopback.rest());
+    request(app).get('/routes')
+      .expect(200)
+      .end(done);
+  });
+
+  it('should report 200 for legacy explorer route /models', function(done) {
+    app.model(MyModel);
+    app.use(loopback.rest());
+    request(app).get('/models')
+      .expect(200)
+      .end(done);
+  });
+
+  it('should report 404 for disabled legacy explorer route /routes', function(done) {
+    app.set('legacyExplorer', false);
+    app.model(MyModel);
+    app.use(loopback.rest());
+    request(app).get('/routes')
+      .expect(404)
+      .end(done);
+  });
+
+  it('should report 404 for disabled legacy explorer route /models', function(done) {
+    app.set('legacyExplorer', false);
+    app.model(MyModel);
+    app.use(loopback.rest());
+    request(app).get('/models')
+      .expect(404)
+      .end(done);
+  });
+
   describe('context propagation', function() {
     var User;