diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c01d162..6408ab1 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1074,28 +1074,6 @@
         </activity>
 
         <activity
-            android:name=".Settings$LanguageAndInputSettingsActivity"
-            android:label="@string/language_settings"
-            android:exported="true"
-            android:icon="@drawable/ic_settings_language">
-            <intent-filter>
-                <action android:name="android.settings.LANGUAGE_SETTINGS"/>
-                <category android:name="android.intent.category.DEFAULT"/>
-            </intent-filter>
-            <intent-filter>
-                <action android:name="android.intent.action.MAIN"/>
-                <category android:name="android.intent.category.VOICE_LAUNCH"/>
-                <category android:name="android.intent.category.DEFAULT"/>
-            </intent-filter>
-            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                       android:value="com.android.settings.language.LanguageAndInputSettings"/>
-            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
-                       android:value="@string/menu_key_system"/>
-            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
-                       android:value="true"/>
-        </activity>
-
-        <activity
             android:name=".Settings$LanguageSettingsActivity"
             android:label="@string/languages_settings"
             android:exported="true"
@@ -1225,9 +1203,9 @@
                 android:label="@string/language_input_gesture_title"
                 android:clearTaskOnLaunch="true"
                 android:exported="true"
-                android:targetActivity="Settings$LanguageAndInputSettingsActivity">
+                android:targetActivity="Settings$LanguageSettingsActivity">
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.language.LanguageAndInputSettings" />
+                android:value="com.android.settings.language.LanguageSettings" />
             <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
                        android:value="@string/menu_key_system"/>
         </activity-alias>
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 7678338..f7110b4 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -95,7 +95,6 @@
     public static class InputMethodAndSubtypeEnablerActivity extends SettingsActivity { /* empty */ }
     public static class SpellCheckersSettingsActivity extends SettingsActivity { /* empty */ }
     public static class LocalePickerActivity extends SettingsActivity { /* empty */ }
-    public static class LanguageAndInputSettingsActivity extends SettingsActivity { /* empty */ }
     public static class LanguageSettingsActivity extends SettingsActivity { /* empty */ }
     /** Activity for the regional preferences settings. */
     public static class RegionalPreferencesActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 734bddc..3e92d5f 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -437,8 +437,6 @@
             Settings.AdaptiveBrightnessActivity.class.getName(),
             // Home page > Security & screen lock
             Settings.LocationSettingsActivity.class.getName(),
-            // Home page > System
-            Settings.LanguageAndInputSettingsActivity.class.getName(),
             Settings.LanguageSettingsActivity.class.getName(),
             Settings.KeyboardSettingsActivity.class.getName(),
             Settings.DateTimeSettingsActivity.class.getName(),
diff --git a/tests/unit/src/com/android/settings/language/LanguagePreferenceControllerTest.java b/tests/unit/src/com/android/settings/language/LanguagePreferenceControllerTest.java
index f8e790f..656fa27 100644
--- a/tests/unit/src/com/android/settings/language/LanguagePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/language/LanguagePreferenceControllerTest.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.language;
 
-import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 import android.content.ComponentName;
@@ -41,10 +40,9 @@
     }
 
     @Test
-    public void getAvailabilityStatus_featureFlagOff_LanguageAndInputSettingsActivitydisabled() {
+    public void getAvailabilityStatus_featureFlagOff_LanguageSettingsActivitydisabled() {
         mController.getAvailabilityStatus();
 
-        assertFalse(isActivityEnable(mContext, Settings.LanguageAndInputSettingsActivity.class));
         assertTrue(isActivityEnable(mContext, Settings.LanguageSettingsActivity.class));
     }
 
