diff --git a/adm_program/installation/db_scripts/update_4_3.xml b/adm_program/installation/db_scripts/update_4_3.xml
index 3dcee1afc..de69e8366 100644
--- a/adm_program/installation/db_scripts/update_4_3.xml
+++ b/adm_program/installation/db_scripts/update_4_3.xml
@@ -123,5 +123,6 @@
UPDATE %PREFIX%_preferences SET prf_value = '24' WHERE prf_name = 'photo_thumbs_page' AND CAST(prf_value AS unsigned) = 16
UPDATE %PREFIX%_preferences SET prf_value = '24' WHERE prf_name = 'photo_thumbs_page' AND prf_value::int = 16
UPDATE %PREFIX%_categories SET cat_type = 'EVT' WHERE cat_type = 'DAT'
+ UPDATE %PREFIX%_categories SET cat_org_id = 1 WHERE cat_org_id IS NULL AND cat_name_intern = 'EVENTS'
stop
diff --git a/adm_program/modules/events/events_function.php b/adm_program/modules/events/events_function.php
index d2b348f6c..db0374996 100644
--- a/adm_program/modules/events/events_function.php
+++ b/adm_program/modules/events/events_function.php
@@ -356,11 +356,14 @@
WHERE cat_name_intern = \'EVENTS\'
AND cat_org_id = ?';
$pdoStatement = $gDb->queryPrepared($sql, array($gCurrentOrgId));
+ if(!$row = $pdoStatement->fetch()) {
+ throw new AdmException('No category found for event participation');
+ }
$role = new TableRoles($gDb);
$role->setType(TableRoles::ROLE_EVENT);
// these are the default settings for a event role
- $role->setValue('rol_cat_id', (int)$pdoStatement->fetchColumn());
+ $role->setValue('rol_cat_id', (int) $row['cat_id']);
// role members are allowed to view lists
$role->setValue('rol_view_memberships', isset($_POST['event_right_list_view']) ? 1 : 3);
// role members are allowed to send mail to this role