diff --git a/src/py/libcamera/gen-py-controls.py b/src/py/libcamera/gen-py-controls.py
index d43a7c1c7eab5744988febebc493c8a858f1d82e..8e9fb560145dd655f3d605be2863407feaef1fc1 100755
--- a/src/py/libcamera/gen-py-controls.py
+++ b/src/py/libcamera/gen-py-controls.py
@@ -34,15 +34,9 @@ def extend_control(ctrl, mode):
     if not ctrl.is_enum:
         return ctrl
 
-    if mode == 'controls':
-        # Adjustments for controls
-        if ctrl.name == 'LensShadingMapMode':
-            prefix = 'LensShadingMapMode'
-        else:
-            prefix = find_common_prefix([e.name for e in ctrl.enum_values])
-    else:
-        # Adjustments for properties
-        prefix = find_common_prefix([e.name for e in ctrl.enum_values])
+    prefix = find_common_prefix([e.name for e in ctrl.enum_values])
+    if prefix.startswith(ctrl.name):
+        prefix = ctrl.name
 
     for enum in ctrl.enum_values:
         enum.py_name = enum.name[len(prefix):]
