diff --git a/include/management/class_managementListing.inc b/include/management/class_managementListing.inc
index a0b97a9322536df05701a482c25d9208683dc38e..30726f2899783577694342fd3652688dc28b15df 100644
--- a/include/management/class_managementListing.inc
+++ b/include/management/class_managementListing.inc
@@ -484,9 +484,8 @@ class managementListing
         unset($_REQUEST['dn']);
       }
 
-      if (preg_match('/^([a-zA-Z]+)_([a-zA-Z_]+)$/', $result['action'], $m)) {
-        $result['action']     = $m[1];
-        $result['subaction']  = $m[2];
+      if (strpos($result['action'], '_') !== FALSE) {
+        list($result['action'], $result['subaction']) = explode('_', $result['action'], 2);
       }
       return $result;
     }
@@ -524,9 +523,8 @@ class managementListing
       }
     }
 
-    if (preg_match('/^([a-zA-Z\.]+)_([a-zA-Z_\.]+)$/', $result['action'], $m)) {
-      $result['action']     = $m[1];
-      $result['subaction']  = $m[2];
+    if (strpos($result['action'], '_') !== FALSE) {
+      list($result['action'], $result['subaction']) = explode('_', $result['action'], 2);
     }
     return $result;
   }