diff --git a/res/xml/location_services.xml b/res/xml/location_services.xml
index 2de4e7b..04eff23 100644
--- a/res/xml/location_services.xml
+++ b/res/xml/location_services.xml
@@ -23,13 +23,13 @@
             android:layout="@layout/preference_category_no_label"
             settings:controller="com.android.settings.location.LocationInjectedServicesPreferenceController"/>
 
-        <Preference
+        <com.android.settingslib.RestrictedPreference
             android:fragment="com.android.settings.location.WifiScanningFragment"
             android:key="location_services_wifi_scanning"
             android:title="@string/location_scanning_wifi_always_scanning_title"
             settings:controller="com.android.settings.location.LocationServicesWifiScanningPreferenceController"/>
 
-        <Preference
+        <com.android.settingslib.RestrictedPreference
             android:fragment="com.android.settings.location.BluetoothScanningFragment"
             android:key="location_services_bluetooth_scanning"
             android:title="@string/location_scanning_bluetooth_always_scanning_title"
diff --git a/src/com/android/settings/location/LocationServicesBluetoothScanningPreferenceController.java b/src/com/android/settings/location/LocationServicesBluetoothScanningPreferenceController.java
index 9913848..ccda572 100644
--- a/src/com/android/settings/location/LocationServicesBluetoothScanningPreferenceController.java
+++ b/src/com/android/settings/location/LocationServicesBluetoothScanningPreferenceController.java
@@ -16,10 +16,14 @@
 package com.android.settings.location;
 
 import android.content.Context;
+import android.os.UserManager;
 import android.provider.Settings;
 
+import androidx.preference.Preference;
+
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.RestrictedPreference;
 
 /**
  * Preference controller for Bluetooth scanning in Location Services.
@@ -32,6 +36,13 @@
     }
 
     @Override
+    public void updateState(Preference preference) {
+        ((RestrictedPreference) preference).checkRestrictionAndSetDisabled(
+                UserManager.DISALLOW_CONFIG_LOCATION);
+        refreshSummary(preference);
+    }
+
+    @Override
     public CharSequence getSummary() {
         final boolean bleScanOn = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) == 1;
diff --git a/src/com/android/settings/location/LocationServicesWifiScanningPreferenceController.java b/src/com/android/settings/location/LocationServicesWifiScanningPreferenceController.java
index 080a023..2814f9d 100644
--- a/src/com/android/settings/location/LocationServicesWifiScanningPreferenceController.java
+++ b/src/com/android/settings/location/LocationServicesWifiScanningPreferenceController.java
@@ -17,9 +17,13 @@
 
 import android.content.Context;
 import android.net.wifi.WifiManager;
+import android.os.UserManager;
+
+import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.RestrictedPreference;
 
 /**
  * Preference controller for Wi-Fi scanning in Location Services.
@@ -34,6 +38,13 @@
     }
 
     @Override
+    public void updateState(Preference preference) {
+        ((RestrictedPreference) preference).checkRestrictionAndSetDisabled(
+                UserManager.DISALLOW_CONFIG_LOCATION);
+        refreshSummary(preference);
+    }
+
+    @Override
     public CharSequence getSummary() {
         final boolean wifiScanOn = mWifiManager.isScanAlwaysAvailable();
         int resId =
