diff --git a/daemon/openrazer_daemon/hardware/mouse.py b/daemon/openrazer_daemon/hardware/mouse.py
index d68885df1eb349271e3a816b0fc8369a1d2b6220..bea85c5552ac3366afe6db612fc558b65793de72 100644
--- a/daemon/openrazer_daemon/hardware/mouse.py
+++ b/daemon/openrazer_daemon/hardware/mouse.py
@@ -2101,8 +2101,9 @@ class RazerBasiliskXHyperSpeed(__RazerDevice):
     USB_VID = 0x1532
     USB_PID = 0x0083
     METHODS = ['get_device_type_mouse', 'max_dpi', 'get_dpi_xy', 'set_dpi_xy',
-               'get_poll_rate', 'set_poll_rate', 'get_battery', 'is_charging',
-               'get_idle_time', 'set_idle_time', 'get_low_battery_threshold',
+               'get_dpi_stages', 'set_dpi_stages', 'get_poll_rate',
+               'set_poll_rate', 'get_battery', 'is_charging', 'get_idle_time',
+               'set_idle_time', 'get_low_battery_threshold',
                'set_low_battery_threshold']
 
     DEVICE_IMAGE = "https://assets.razerzone.com/eeimages/support/products/1589/1589_basilisk_x__hyperspeed.png"
diff --git a/driver/razermouse_driver.c b/driver/razermouse_driver.c
index e5f8fd890eebc65f2ee39314ecd5ab02d2f3dff7..9fbd2758c186a99517b9599cd4bd99abd1b15b5a 100644
--- a/driver/razermouse_driver.c
+++ b/driver/razermouse_driver.c
@@ -3886,6 +3886,7 @@ static int razer_mouse_probe(struct hid_device *hdev, const struct hid_device_id
         case USB_DEVICE_ID_RAZER_BASILISK_X_HYPERSPEED:
             CREATE_DEVICE_FILE(&hdev->dev, &dev_attr_poll_rate);
             CREATE_DEVICE_FILE(&hdev->dev, &dev_attr_dpi);
+            CREATE_DEVICE_FILE(&hdev->dev, &dev_attr_dpi_stages);
             CREATE_DEVICE_FILE(&hdev->dev, &dev_attr_charge_level);
             CREATE_DEVICE_FILE(&hdev->dev, &dev_attr_charge_status);
             CREATE_DEVICE_FILE(&hdev->dev, &dev_attr_charge_low_threshold);
@@ -4330,6 +4331,7 @@ static void razer_mouse_disconnect(struct hid_device *hdev)
         case USB_DEVICE_ID_RAZER_BASILISK_X_HYPERSPEED:
             device_remove_file(&hdev->dev, &dev_attr_poll_rate);
             device_remove_file(&hdev->dev, &dev_attr_dpi);
+            device_remove_file(&hdev->dev, &dev_attr_dpi_stages);
             device_remove_file(&hdev->dev, &dev_attr_charge_level);
             device_remove_file(&hdev->dev, &dev_attr_charge_status);
             device_remove_file(&hdev->dev, &dev_attr_charge_low_threshold);
diff --git a/pylib/openrazer/_fake_driver/razeratherisreceiver.cfg b/pylib/openrazer/_fake_driver/razeratherisreceiver.cfg
index 216a07d88e1fb784f78c872396c3a5d5f7427462..4e3139ada32374eb974ed7516e09223f791f6998 100644
--- a/pylib/openrazer/_fake_driver/razeratherisreceiver.cfg
+++ b/pylib/openrazer/_fake_driver/razeratherisreceiver.cfg
@@ -8,6 +8,7 @@ files = r,charge_level,255
         r,device_serial,XX0000000062
         r,device_type,%(name)s
         rw,dpi,800:800
+        rw,dpi_stages,0x010320032005dc05dc
         r,firmware_version,v1.0
         rw,poll_rate,500
         r,version,1.0.0
diff --git a/pylib/openrazer/_fake_driver/razerbasiliskxhyperspeed.cfg b/pylib/openrazer/_fake_driver/razerbasiliskxhyperspeed.cfg
index 3e64f539aab2af668dbfbb1c2c969fa385b9b0fc..841ca32dc762305e5b827ddd999c0ac00af0ce74 100644
--- a/pylib/openrazer/_fake_driver/razerbasiliskxhyperspeed.cfg
+++ b/pylib/openrazer/_fake_driver/razerbasiliskxhyperspeed.cfg
@@ -8,6 +8,7 @@ files = r,charge_level,255
         r,device_serial,XX0000000083
         r,device_type,%(name)s
         rw,dpi,800:800
+        rw,dpi_stages,0x010320032005dc05dc
         r,firmware_version,v1.0
         rw,poll_rate,500
         r,version,1.0.0