diff --git a/common/djangoapps/student/tests/test_views.py b/common/djangoapps/student/tests/test_views.py
index e3f85cb4e71f09574fa54f46d47e9a58d0b8769d..1f02879db6ced78466e99f1476e9f21be2fb41bb 100644
--- a/common/djangoapps/student/tests/test_views.py
+++ b/common/djangoapps/student/tests/test_views.py
@@ -264,6 +264,11 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin,
             'DASHBOARD_TWITTER': True,
         },
     }
+    MOCK_SETTINGS_HIDE_COURSES = {
+        'FEATURES': {
+            'HIDE_DASHBOARD_COURSES_UNTIL_ACTIVATED': True,
+        }
+    }
 
     def setUp(self):
         """
@@ -619,6 +624,23 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin,
         response = self.client.get(self.path)
         self.assertEqual(pq(response.content)(self.EMAIL_SETTINGS_ELEMENT_ID).length, 0)
 
+    @patch.multiple('django.conf.settings', **MOCK_SETTINGS_HIDE_COURSES)
+    def test_hide_dashboard_courses_until_activated(self):
+        """
+        Verify that when the HIDE_DASHBOARD_COURSES_UNTIL_ACTIVATED feature is enabled,
+        inactive users don't see the Courses list, but active users still do.
+        """
+        # Ensure active users see the course list
+        self.assertTrue(self.user.is_active)
+        response = self.client.get(reverse('dashboard'))
+        self.assertIn('You are not enrolled in any courses yet.', response.content)
+
+        # Ensure inactive users don't see the course list
+        self.user.is_active = False
+        self.user.save()
+        response = self.client.get(reverse('dashboard'))
+        self.assertNotIn('You are not enrolled in any courses yet.', response.content)
+
     @staticmethod
     def _remove_whitespace_from_html_string(html):
         return ''.join(html.split())
diff --git a/common/djangoapps/student/views/dashboard.py b/common/djangoapps/student/views/dashboard.py
index 3c211245bef2b778198536709774e3a3b6da4a6c..d3c1537410af6fbd05b9060a2eb5ecf866dd4fec 100644
--- a/common/djangoapps/student/views/dashboard.py
+++ b/common/djangoapps/student/views/dashboard.py
@@ -562,6 +562,10 @@ def student_dashboard(request):
     activation_email_support_link = configuration_helpers.get_value(
         'ACTIVATION_EMAIL_SUPPORT_LINK', settings.ACTIVATION_EMAIL_SUPPORT_LINK
     ) or settings.SUPPORT_SITE_LINK
+    hide_dashboard_courses_until_activated = configuration_helpers.get_value(
+        'HIDE_DASHBOARD_COURSES_UNTIL_ACTIVATED',
+        settings.FEATURES.get('HIDE_DASHBOARD_COURSES_UNTIL_ACTIVATED', False)
+    )
 
     # Get the org whitelist or the org blacklist for the current site
     site_org_whitelist, site_org_blacklist = get_org_black_and_whitelist_for_site()
@@ -812,6 +816,7 @@ def student_dashboard(request):
         'disable_courseware_js': True,
         'display_course_modes_on_dashboard': enable_verified_certificates and display_course_modes_on_dashboard,
         'display_sidebar_on_dashboard': display_sidebar_on_dashboard,
+        'display_dashboard_courses': (user.is_active or not hide_dashboard_courses_until_activated),
     }
 
     if ecommerce_service.is_enabled(request.user):
diff --git a/lms/envs/common.py b/lms/envs/common.py
index f0045cbdb5a49cabfac8043a66b76936a7267981..7dd42d762c5d4b22a5f46394ff8a0f88c59e93aa 100644
--- a/lms/envs/common.py
+++ b/lms/envs/common.py
@@ -133,6 +133,9 @@ FEATURES = {
     # Can be turned off if course lists need to be hidden. Effects views and templates.
     'COURSES_ARE_BROWSABLE': True,
 
+    # Set to hide the courses list on the Learner Dashboard if they are not enrolled in any courses yet.
+    'HIDE_DASHBOARD_COURSES_UNTIL_ACTIVATED': False,
+
     # Enables ability to restrict enrollment in specific courses by the user account login method
     'RESTRICT_ENROLL_BY_REG_METHOD': False,
 
diff --git a/lms/templates/dashboard.html b/lms/templates/dashboard.html
index 3be671e7ec99c2c21635688b28f971ea2f5a87a1..a7ca9050ced0b7b5096a6dc8d0dfa8941e5fa03c 100644
--- a/lms/templates/dashboard.html
+++ b/lms/templates/dashboard.html
@@ -122,7 +122,7 @@ from student.models import CourseEnrollment
 
 <main id="main" aria-label="Content" tabindex="-1">
     <div class="dashboard" id="dashboard-main">
-
+      % if display_dashboard_courses:
       <div class="main-container">
         <div class="my-courses" id="my-courses">
           <%include file="learner_dashboard/_dashboard_navigation_courses.html"/>
@@ -224,6 +224,7 @@ from student.models import CourseEnrollment
           % endif
         </div>
       </div>
+      % endif
       <div class="side-container">
         %if sidebar_account_activation_message:
           <div class="sidebar-notification">