diff --git a/app/core/Router.coffee b/app/core/Router.coffee
index a6c42752b..984619ee6 100644
--- a/app/core/Router.coffee
+++ b/app/core/Router.coffee
@@ -69,15 +69,15 @@ module.exports = class CocoRouter extends Backbone.Router
     'contribute/diplomat': go('contribute/DiplomatView')
     'contribute/scribe': go('contribute/ScribeView')
 
-    'courses': go('courses/CoursesView') # , { studentsOnly: true }) # TODO: Enforce after session-less play for teachers
-    'Courses': go('courses/CoursesView') # , { studentsOnly: true })
+    'courses': go('courses/CoursesView', { studentsOnly: true })
+    'Courses': go('courses/CoursesView', { studentsOnly: true })
     'courses/students': redirect('/courses')
     'courses/teachers': redirect('/teachers/classes')
     'courses/purchase': redirect('/teachers/licenses')
     'courses/enroll(/:courseID)': redirect('/teachers/licenses')
     'courses/update-account': go('courses/CoursesUpdateAccountView')
-    'courses/:classroomID': go('courses/ClassroomView') #, { studentsOnly: true })
-    'courses/:courseID/:courseInstanceID': go('courses/CourseDetailsView')
+    'courses/:classroomID': go('courses/ClassroomView', { studentsOnly: true })
+    'courses/:courseID/:courseInstanceID': go('courses/CourseDetailsView', { studentsOnly: true })
 
     'db/*path': 'routeToServer'
     'demo(/*subpath)': go('DemoView')
@@ -142,14 +142,14 @@ module.exports = class CocoRouter extends Backbone.Router
     'SEEN': go('NewHomeView')
 
     'teachers': redirect('/teachers/classes')
-    'teachers/classes': go('courses/TeacherClassesView') #, { teachersOnly: true })
-    'teachers/classes/:classroomID': go('courses/TeacherClassView') #, { teachersOnly: true })
+    'teachers/classes': go('courses/TeacherClassesView', { teachersOnly: true })
+    'teachers/classes/:classroomID': go('courses/TeacherClassView', { teachersOnly: true })
     'teachers/courses': go('courses/TeacherCoursesView')
     'teachers/demo': go('teachers/RequestQuoteView')
     'teachers/enrollments': redirect('/teachers/licenses')
-    'teachers/licenses': go('courses/EnrollmentsView') #, { teachersOnly: true })
+    'teachers/licenses': go('courses/EnrollmentsView', { teachersOnly: true })
     'teachers/freetrial': go('teachers/RequestQuoteView')
-    'teachers/quote': go('teachers/RequestQuoteView')
+    'teachers/quote': redirect('/teachers/demo')
     'teachers/signup': ->
       return @routeDirectly('teachers/CreateTeacherAccountView', []) if me.isAnonymous()
       @navigate('/teachers/update-account', {trigger: true, replace: true})
@@ -174,7 +174,7 @@ module.exports = class CocoRouter extends Backbone.Router
   routeDirectly: (path, args=[], options={}) ->
     if options.teachersOnly and not me.isTeacher()
       return @routeDirectly('teachers/RestrictedToTeachersView')
-    if options.studentsOnly and me.isTeacher()
+    if options.studentsOnly and not me.isStudent()
       return @routeDirectly('courses/RestrictedToStudentsView')
     leavingMessage = _.result(window.currentView, 'onLeaveMessage')
     if leavingMessage
diff --git a/app/locale/en.coffee b/app/locale/en.coffee
index d546acda9..f7ebe2c6e 100644
--- a/app/locale/en.coffee
+++ b/app/locale/en.coffee
@@ -1279,7 +1279,8 @@
     student_age_range_to: "to"
     create_class: "Create Class"
     class_name: "Class Name"
-    teacher_account_restricted: "Your account is a teacher account, and so cannot access student content."
+    teacher_account_restricted: "Your account is a teacher account and cannot access student content." # {change}
+    account_restricted: "A student account is required to access this page."
     update_account_login_title: "Log in to update your account"
     update_account_title: "Your account needs attention!"
     update_account_blurb: "Before you can access your classes, choose how you want to use this account."
diff --git a/app/templates/courses/restricted-to-students-view.jade b/app/templates/courses/restricted-to-students-view.jade
index d31f421c8..ebea62f7c 100644
--- a/app/templates/courses/restricted-to-students-view.jade
+++ b/app/templates/courses/restricted-to-students-view.jade
@@ -3,10 +3,19 @@ extends /templates/base-flat
 block content
   .access-restricted.container.text-center.m-y-3
     h5(data-i18n='teacher.access_restricted')
-    p(data-i18n='courses.teacher_account_restricted')
-    a.btn.btn-lg.btn-primary(href="/teachers/classes" data-i18n="new_home.goto_classes")
-    button#logout-button.btn.btn-lg.btn-primary-alt(data-i18n="login.log_out")
+    if me.isTeacher()
+      p(data-i18n='courses.teacher_account_restricted')
+      a.btn.btn-lg.btn-primary(href="/teachers/classes" data-i18n="new_home.goto_classes")
+      button#logout-button.btn.btn-lg.btn-primary-alt(data-i18n="login.log_out")
+    else
+      p(data-i18n='courses.account_restricted')
+      if me.isAnonymous()
+        .login-button.btn.btn-lg.btn-primary(data-i18n='login.log_in')
+      else
+        a.btn.btn-lg.btn-primary(href="/courses/update-account" data-i18n="courses.update_account_update_student")
+        button#logout-button.btn.btn-lg.btn-primary-alt(data-i18n="login.log_out")
 
-  .teacher-account-blurb.text-center.col-xs-6.col-xs-offset-3.m-y-3
-    h5(data-i18n='teacher.what_is_a_teacher_account')
-    p(data-i18n='teacher.teacher_account_explanation')
\ No newline at end of file
+  if me.isTeacher()
+    .teacher-account-blurb.text-center.col-xs-6.col-xs-offset-3.m-y-3
+      h5(data-i18n='teacher.what_is_a_teacher_account')
+      p(data-i18n='teacher.teacher_account_explanation')
\ No newline at end of file