diff --git a/common/djangoapps/student/views.py b/common/djangoapps/student/views.py
index ce15a2a0031e0e4ec695af8c152664785df2a32a..27adf485f0b666b2ba4aa6eb01d902e528f8eec5 100644
--- a/common/djangoapps/student/views.py
+++ b/common/djangoapps/student/views.py
@@ -131,10 +131,14 @@ def dashboard(request):
         staff_access = True
         errored_courses = modulestore().get_errored_courses()
 
+    show_courseware_links_for = frozenset(course.id for course in courses
+                                          if has_access(request.user, course, 'load'))
+
     context = {'courses': courses,
                'message': message,
                'staff_access': staff_access,
-               'errored_courses': errored_courses,}
+               'errored_courses': errored_courses,
+               'show_courseware_links_for' : show_courseware_links_for}
 
     return render_to_response('dashboard.html', context)
 
diff --git a/lms/djangoapps/courseware/views.py b/lms/djangoapps/courseware/views.py
index 6122ebd33335a53a59a0e8337a6c2ab8df8939c2..71ec687cf67bcbb6796b88cb915ddcb3a6748304 100644
--- a/lms/djangoapps/courseware/views.py
+++ b/lms/djangoapps/courseware/views.py
@@ -264,7 +264,11 @@ def registered_for_course(course, user):
 def course_about(request, course_id):
     course = get_course_with_access(request.user, course_id, 'see_exists')
     registered = registered_for_course(course, request.user)
-    return render_to_response('portal/course_about.html', {'course': course, 'registered': registered})
+    show_courseware_link = has_access(request.user, course, 'load')
+    return render_to_response('portal/course_about.html',
+                              {'course': course,
+                               'registered': registered, 
+                               'show_courseware_link' : show_courseware_link})
 
 
 @ensure_csrf_cookie
diff --git a/lms/templates/dashboard.html b/lms/templates/dashboard.html
index 0f9c26611b5b0fc692aa2d67f684b847cf78dfcf..6be72277cca0a93f0c0534ffab0220ea9b0dcf0e 100644
--- a/lms/templates/dashboard.html
+++ b/lms/templates/dashboard.html
@@ -87,7 +87,9 @@
               <section class="course-status">
                 <p>Class Starts - <span>${course.start_date_text}</span></p>
               </section>
-              <p class="enter-course">View Courseware</p>
+              % if course.id in show_courseware_links_for:
+                <p class="enter-course">View Courseware</p>
+              % endif
             </section>
           </a>
         </article>
diff --git a/lms/templates/portal/course_about.html b/lms/templates/portal/course_about.html
index bff24d597a10f3062b2a1f9578f210383f84c499..d6c731431e342e762a570ad0575abff4955b2c0e 100644
--- a/lms/templates/portal/course_about.html
+++ b/lms/templates/portal/course_about.html
@@ -74,7 +74,10 @@
 	        %if show_link:
                 <a href="${course_target}">
                 %endif
-                <span class="register disabled">You are registered for this course (${course.number})</span> <strong>View Courseware</strong>
+                <span class="register disabled">You are registered for this course (${course.number})</span>
+                % if show_courseware_link:
+                  <strong>View Courseware</strong>
+                % endif
 	        %if show_link:
                 </a>
                 %endif