diff --git a/openedx/core/djangoapps/waffle_utils/__init__.py b/openedx/core/djangoapps/waffle_utils/__init__.py
index 89341a47e14c3367fc86f34c216060ed5351b54a..a00dcc72ec1a0b6743e5594f1c0bd286012b3f23 100644
--- a/openedx/core/djangoapps/waffle_utils/__init__.py
+++ b/openedx/core/djangoapps/waffle_utils/__init__.py
@@ -189,7 +189,7 @@ class CourseWaffleFlag(BaseWaffleFlag):
         is_enabled_for_course = self._get_course_override_value(course_key)
         if is_enabled_for_course is not None:
             # pylint: disable=protected-access
-            self.NAMESPACE_CLASS._monitor_value(
+            self.waffle_namespace._monitor_value(
                 self.namespaced_flag_name, is_enabled_for_course
             )
             return is_enabled_for_course
diff --git a/openedx/core/djangoapps/waffle_utils/tests/test_init.py b/openedx/core/djangoapps/waffle_utils/tests/test_init.py
index 5666a81eb7f983ba5ef1d3ea629121e64d641921..4b317f79047b630c67627dd6a27c005c7e9dc0a8 100644
--- a/openedx/core/djangoapps/waffle_utils/tests/test_init.py
+++ b/openedx/core/djangoapps/waffle_utils/tests/test_init.py
@@ -7,11 +7,8 @@ import ddt
 from django.test import TestCase
 from django.test.client import RequestFactory
 from django.test.utils import override_settings
-# TODO: we really shouldn't import from edx_toggles' internal API, but that's currently the only way to mock the
-# monitoring functions.
-import edx_toggles.toggles.internal.waffle
 from edx_django_utils.cache import RequestCache
-from mock import call, patch
+from mock import patch
 from opaque_keys.edx.keys import CourseKey
 from waffle.testutils import override_flag
 
@@ -41,21 +38,20 @@ class TestCourseWaffleFlag(TestCase):
     TEST_COURSE_FLAG = CourseWaffleFlag(TEST_NAMESPACE, FLAG_NAME, __name__)
 
     def setUp(self):
-        super(TestCourseWaffleFlag, self).setUp()
+        super().setUp()
         request = RequestFactory().request()
         self.addCleanup(crum.set_current_request, None)
         crum.set_current_request(request)
         RequestCache.clear_all_namespaces()
 
     @override_settings(WAFFLE_FLAG_CUSTOM_ATTRIBUTES=[NAMESPACED_FLAG_NAME])
-    @patch.object(edx_toggles.toggles.internal.waffle, 'set_custom_attribute')
     @ddt.data(
         {'course_override': WaffleFlagCourseOverrideModel.ALL_CHOICES.on, 'waffle_enabled': False, 'result': True},
         {'course_override': WaffleFlagCourseOverrideModel.ALL_CHOICES.off, 'waffle_enabled': True, 'result': False},
         {'course_override': WaffleFlagCourseOverrideModel.ALL_CHOICES.unset, 'waffle_enabled': True, 'result': True},
         {'course_override': WaffleFlagCourseOverrideModel.ALL_CHOICES.unset, 'waffle_enabled': False, 'result': False},
     )
-    def test_course_waffle_flag(self, data, mock_set_custom_attribute):
+    def test_course_waffle_flag(self, data):
         """
         Tests various combinations of a flag being set in waffle and overridden
         for a course.
@@ -72,9 +68,6 @@ class TestCourseWaffleFlag(TestCase):
                     self.TEST_COURSE_KEY
                 )
 
-        self._assert_waffle_flag_attribute(mock_set_custom_attribute, expected_flag_value=str(data['result']))
-        mock_set_custom_attribute.reset_mock()
-
         # check flag for a second course
         if data['course_override'] == WaffleFlagCourseOverrideModel.ALL_CHOICES.unset:
             # When course override wasn't set for the first course, the second course will get the same
@@ -87,12 +80,8 @@ class TestCourseWaffleFlag(TestCase):
             second_value = False
             self.assertEqual(self.TEST_COURSE_FLAG.is_enabled(self.TEST_COURSE_2_KEY), second_value)
 
-        expected_flag_value = None if second_value == data['result'] else 'Both'
-        self._assert_waffle_flag_attribute(mock_set_custom_attribute, expected_flag_value=expected_flag_value)
-
     @override_settings(WAFFLE_FLAG_CUSTOM_ATTRIBUTES=[NAMESPACED_FLAG_NAME])
-    @patch.object(edx_toggles.toggles.internal.waffle, 'set_custom_attribute')
-    def test_undefined_waffle_flag(self, mock_set_custom_attribute):
+    def test_undefined_waffle_flag(self):
         """
         Test flag with undefined waffle flag.
         """
@@ -117,11 +106,6 @@ class TestCourseWaffleFlag(TestCase):
                 self.TEST_COURSE_KEY
             )
 
-        self._assert_waffle_flag_attribute(
-            mock_set_custom_attribute,
-            expected_flag_value=str(False),
-        )
-
     def test_without_request_and_undefined_waffle(self):
         """
         Test the flag behavior when outside a request context and waffle data undefined.
@@ -147,36 +131,6 @@ class TestCourseWaffleFlag(TestCase):
         with override_flag(self.NAMESPACED_FLAG_NAME, active=True):
             self.assertEqual(test_course_flag.is_enabled(self.TEST_COURSE_KEY), True)
 
-    @ddt.data(
-        {'expected_count': 0, 'waffle_flag_attribute_setting': None},
-        {'expected_count': 1, 'waffle_flag_attribute_setting': [NAMESPACED_FLAG_NAME]},
-        {'expected_count': 2, 'waffle_flag_attribute_setting': [NAMESPACED_FLAG_NAME, NAMESPACED_FLAG_2_NAME]},
-    )
-    @patch.object(edx_toggles.toggles.internal.waffle, 'set_custom_attribute')
-    def test_waffle_flag_attribute_for_various_settings(self, data, mock_set_custom_attribute):
-        """
-        Test that custom attributes are recorded when waffle flag accessed.
-        """
-        with override_settings(WAFFLE_FLAG_CUSTOM_ATTRIBUTES=data['waffle_flag_attribute_setting']):
-            test_course_flag = CourseWaffleFlag(self.TEST_NAMESPACE, self.FLAG_NAME, __name__)
-            test_course_flag.is_enabled(self.TEST_COURSE_KEY)
-            test_course_flag_2 = CourseWaffleFlag(self.TEST_NAMESPACE, self.FLAG_2_NAME, __name__)
-            test_course_flag_2.is_enabled(self.TEST_COURSE_KEY)
-
-        self.assertEqual(mock_set_custom_attribute.call_count, data['expected_count'])
-
-    def _assert_waffle_flag_attribute(self, mock_set_custom_attribute, expected_flag_value=None):
-        """
-        Assert that a custom attribute was set as expected on the mock.
-        """
-        if expected_flag_value:
-            expected_flag_name = 'flag_{}'.format(self.NAMESPACED_FLAG_NAME)
-            expected_calls = [call(expected_flag_name, expected_flag_value)]
-            mock_set_custom_attribute.assert_has_calls(expected_calls)
-            self.assertEqual(mock_set_custom_attribute.call_count, 1)
-        else:
-            self.assertEqual(mock_set_custom_attribute.call_count, 0)
-
 
 class DeprecatedWaffleFlagTests(TestCase):
     """