diff --git a/resources/vue/components/courseware/CoursewareStructuralElement.vue b/resources/vue/components/courseware/CoursewareStructuralElement.vue
index 187a0d9ee2b412cbaa2c32ee903d7205269d8775..3bd6122919c4e5425f5524d3d419a35fdae128b3 100644
--- a/resources/vue/components/courseware/CoursewareStructuralElement.vue
+++ b/resources/vue/components/courseware/CoursewareStructuralElement.vue
@@ -356,7 +356,7 @@
                             <label>
                                 <translate>Position der neuen Seite</translate>
                                 <select v-model="newChapterParent">
-                                    <option v-if="!isRoot" value="sibling">
+                                    <option v-if="!isRoot && canEditParent" value="sibling">
                                         <translate>Neben der aktuellen Seite</translate>
                                     </option>
                                     <option value="descendant"><translate>Unterhalb der aktuellen Seite</translate></option>
@@ -941,6 +941,16 @@ export default {
             return this.structuralElement.attributes['can-edit'];
         },
 
+        canEditParent() {
+            if (this.isRoot) {
+                return false;
+            }
+            const parentId = this.structuralElement.relationships.parent.data.id;
+            const parent = this.structuralElementById({ id: parentId });
+
+            return parent.attributes['can-edit'];
+        },
+
         isRoot() {
             return this.structuralElement.relationships.parent.data === null;
         },
@@ -1591,7 +1601,7 @@ export default {
                 console.debug(error);
             });
         },
-        async createElement() {
+        createElement() {
             let title = this.newChapterName; // this is the title of the new element
             let parent_id = this.currentId; // new page is descandant as default
             let writeApproval = this.currentElement.attributes['write-approval'];
@@ -1607,7 +1617,7 @@ export default {
                 readApproval = [];
             }
             this.showElementAddDialog(false);
-            await this.createStructuralElement({
+            this.createStructuralElement({
                 attributes: {
                     title: title,
                     'write-approval':  writeApproval,
@@ -1615,14 +1625,26 @@ export default {
                 },
                 parentId: parent_id,
                 currentId: this.currentId,
+            })
+            .then(() => {
+                let newElement = this.$store.getters['courseware-structural-elements/lastCreated'];
+                this.companionSuccess({
+                    info:
+                        this.$gettextInterpolate(
+                            this.$gettext('Die Seite %{ pageTitle } wurde erfolgreich angelegt.'), 
+                            { pageTitle: newElement.attributes.title }
+                        )
+                });
+            })
+            .catch(e => {
+                let errorMessage = this.$gettext('Es ist ein Fehler aufgetreten. Die Seite konnte nicht erstellt werden.');
+                if (e.status === 403) {
+                    errorMessage = this.$gettext('Die Seite konnte nicht erstellt werden. Sie haben nicht die notwendigen Schreibrechte.');
+                }
+
+                this.companionError({ info: errorMessage });
             });
-            let newElement = this.$store.getters['courseware-structural-elements/lastCreated'];
-            this.companionSuccess({
-                info: this.$gettextInterpolate(
-                    this.$gettext('Die Seite %{ pageTitle } wurde erfolgreich angelegt.'),
-                    {pageTitle: newElement.attributes.title}
-                )
-            });
+
             this.newChapterName = '';
         },
         containerComponent(container) {