diff --git a/app/templates/courses/course-details.jade b/app/templates/courses/course-details.jade
index 2bb9c549d..333e0fc12 100644
--- a/app/templates/courses/course-details.jade
+++ b/app/templates/courses/course-details.jade
@@ -65,7 +65,7 @@ block content
                 span= view.course.get('name')
                 span .
         .col-md-6
-          if view.nextCourseInstance
+          if view.nextCourseInstance && _.contains(view.nextCourseInstance.get('members'), me.id)
             a.btn.btn-lg.btn-success(href="/courses/#{view.nextCourse.id}/#{view.nextCourseInstance.id}")
               h1= view.nextCourse.get('name')
               p= view.nextCourse.get('description')
diff --git a/app/views/courses/CourseDetailsView.coffee b/app/views/courses/CourseDetailsView.coffee
index 12ba1d63f..abb619d2b 100644
--- a/app/views/courses/CourseDetailsView.coffee
+++ b/app/views/courses/CourseDetailsView.coffee
@@ -62,6 +62,8 @@ module.exports = class CourseDetailsView extends RootView
           # need to figure out the next course instance
           @courseComplete = true
           @courseInstances.comparator = 'courseID'
+          # TODO: make this logic use locked course content to figure out the next course, then fetch the 
+          # course instance for that
           @supermodel.trackRequest(@courseInstances.fetchForClassroom(classroomID).then(=>
             @nextCourseInstance = _.find @courseInstances.models, (ci) => ci.get('courseID') > @courseID
             if @nextCourseInstance