diff --git a/aleksis/apps/chronos/frontend/components/amendLesson.graphql b/aleksis/apps/chronos/frontend/components/amendLesson.graphql
index 2f017f687aa941aaec46be77c67567823b893781..bf6d16e4820b1f31da4b33a28660ad7036287d33 100644
--- a/aleksis/apps/chronos/frontend/components/amendLesson.graphql
+++ b/aleksis/apps/chronos/frontend/components/amendLesson.graphql
@@ -1,3 +1,24 @@
+query gqlSubjects {
+  amendableSubjects: subjects {
+    id
+    name
+  }
+}
+
+query gqlPersons {
+  amendableTeachers: persons {
+    id
+    fullName
+  }
+}
+
+query gqlRooms {
+  amendableRooms: rooms {
+    id
+    name
+  }
+}
+
 mutation createAmendLesson($input: CreateLessonEventInput!) {
   createAmendLesson(input: $input) {
     lessonEvent {
diff --git a/aleksis/apps/chronos/frontend/components/calendar_feeds/details/LessonDetails.vue b/aleksis/apps/chronos/frontend/components/calendar_feeds/details/LessonDetails.vue
index 39cb0d03590757f9f86229c5c95c4b89b4d87fbd..0dd8bc7229d3aa5cc5f8b920389f8aa80e648899 100644
--- a/aleksis/apps/chronos/frontend/components/calendar_feeds/details/LessonDetails.vue
+++ b/aleksis/apps/chronos/frontend/components/calendar_feeds/details/LessonDetails.vue
@@ -114,7 +114,40 @@
           :edit-item="initPatchData"
           @cancel="amendEvent.open = false"
         >
-          <template #cancelled.field="{ on, attrs }">
+          <template #subject.field="{ attrs, on }">
+            <v-autocomplete
+              :items="amendableSubjects"
+              item-text="name"
+              item-value="id"
+              v-bind="attrs"
+              v-on="on"
+            />
+          </template>
+          <template #teachers.field="{ attrs, on }">
+            <v-autocomplete
+              multiple
+              :items="amendableTeachers"
+              item-text="fullName"
+              item-value="id"
+              v-bind="attrs"
+              v-on="on"
+              chips
+              deletable-chips
+            />
+          </template>
+          <template #rooms.field="{ attrs, on }">
+            <v-autocomplete
+              multiple
+              :items="amendableRooms"
+              item-text="name"
+              item-value="id"
+              v-bind="attrs"
+              v-on="on"
+              chips
+              deletable-chips
+            />
+          </template>
+          <template #cancelled.field="{ attrs, on }">
             <v-checkbox
               v-bind="attrs"
               v-on="on"
@@ -139,6 +172,9 @@ import LessonRelatedObjectChip from "../../LessonRelatedObjectChip.vue";
 import lessonEvent from "../mixins/lessonEvent";
 import LessonEventSubject from "../../LessonEventSubject.vue";
 import {
+  gqlSubjects,
+  gqlPersons,
+  gqlRooms,
   createAmendLesson,
   patchAmendLesson
 } from "../../amendLesson.graphql";
@@ -214,13 +250,18 @@ export default {
     initPatchData() {
       return {
         id: this.selectedEvent.meta.id,
-        subject: this.selectedEvent.meta.subject?.id,
-        teachers: this.selectedEvent.meta.teachers.map((teacher) => teacher.id),
-        rooms: this.selectedEvent.meta.rooms.map((room) => room.id),
+        subject: this.selectedEvent.meta.subject?,
+        teachers: this.selectedEvent.meta.teachers,
+        rooms: this.selectedEvent.meta.rooms,
         cancelled: this.selectedEvent.meta.cancelled,
         comment: this.selectedEvent.meta.comment,
       };
     },
   },
+  apollo: {
+    amendableSubjects: gqlSubjects,
+    amendableTeachers: gqlPersons,
+    amendableRooms: gqlRooms,
+  },
 };
 </script>