diff --git a/src/com/android/settings/notification/SoundScreen.kt b/src/com/android/settings/notification/SoundScreen.kt
index ecb0c85..f1f2749 100644
--- a/src/com/android/settings/notification/SoundScreen.kt
+++ b/src/com/android/settings/notification/SoundScreen.kt
@@ -36,12 +36,13 @@
 
     override fun isFlagEnabled(context: Context): Boolean = Flags.catalystSoundScreen()
 
+    override fun hasCompleteHierarchy() = false
+
     override fun fragmentClass(): Class<out Fragment>? = SoundSettings::class.java
 
-    override fun getPreferenceHierarchy(context: Context) =
-        preferenceHierarchy(this) {}
+    override fun getPreferenceHierarchy(context: Context) = preferenceHierarchy(this) {}
 
     companion object {
         const val KEY = "sound_screen"
     }
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/notification/SoundScreenTest.kt b/tests/robotests/src/com/android/settings/notification/SoundScreenTest.kt
index 83b29d2..1333ed5 100644
--- a/tests/robotests/src/com/android/settings/notification/SoundScreenTest.kt
+++ b/tests/robotests/src/com/android/settings/notification/SoundScreenTest.kt
@@ -15,39 +15,23 @@
  */
 package com.android.settings.notification
 
-import android.content.Context
-import android.platform.test.annotations.DisableFlags
-import android.platform.test.annotations.EnableFlags
-import android.platform.test.flag.junit.SetFlagsRule
-import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.flags.Flags
+import com.android.settingslib.preference.CatalystScreenTestCase
 import com.google.common.truth.Truth.assertThat
-import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
 
 @RunWith(AndroidJUnit4::class)
-class SoundScreenTest {
-    @get:Rule val setFlagsRule = SetFlagsRule()
-    private val context: Context = ApplicationProvider.getApplicationContext()
-    private val soundScreen = SoundScreen()
+class SoundScreenTest : CatalystScreenTestCase() {
+
+    override val preferenceScreenCreator = SoundScreen()
+
+    override val flagName: String
+        get() = Flags.FLAG_CATALYST_SOUND_SCREEN
 
     @Test
     fun key() {
-        assertThat(soundScreen.key).isEqualTo(SoundScreen.KEY)
+        assertThat(preferenceScreenCreator.key).isEqualTo(SoundScreen.KEY)
     }
-
-    @Test
-    @EnableFlags(Flags.FLAG_CATALYST_SOUND_SCREEN)
-    fun isFlagEnabled_returnTrue() {
-        assertThat(soundScreen.isFlagEnabled(context)).isTrue()
-    }
-
-    @Test
-    @DisableFlags(Flags.FLAG_CATALYST_SOUND_SCREEN)
-    fun isFlagEnabled_returnFalse() {
-        assertThat(soundScreen.isFlagEnabled(context)).isFalse()
-    }
-
-}
\ No newline at end of file
+}
