diff --git a/administrator/components/com_menus/src/Model/ItemModel.php b/administrator/components/com_menus/src/Model/ItemModel.php index 418ed43c5125b..dda2c291a2b24 100644 --- a/administrator/components/com_menus/src/Model/ItemModel.php +++ b/administrator/components/com_menus/src/Model/ItemModel.php @@ -1002,6 +1002,12 @@ protected function populateState() * Note: a new menu item will have no field type. * The field is required so the user has to change it. */ + + // An existing item already has a type, on the row loaded above. The Web Services API is + // stateless, so the user state is empty and the request only has "type" if the caller sent it. + if (!$type && isset($table)) { + $type = $table->type; + } } $this->setState('item.type', $type);