diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationCompactDetails.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationCompactDetails.vue
index 9160bd79522900613c4ac195b9bcf85d818fb9d3..09ae0e5d09903387dd314bc25b8885c9eff1b370 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationCompactDetails.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationCompactDetails.vue
@@ -1,7 +1,7 @@
 <template>
   <v-card outlined dense rounded="lg" v-bind="$attrs" v-on="$listeners">
     <div class="font-weight-medium mr-2">
-      {{ $t("alsijil.coursebook.summary.topic") }}:
+      {{ $t("alsijil.coursebook.summary.topic.label") }}:
     </div>
     <div class="text-truncate">{{ documentation.topic || "–" }}</div>
 
diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationFullDetails.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationFullDetails.vue
index ddb7ae2764771ac59eb5e69f6e2ffb5ee6c7725b..58ef4285647a5b80e7c8dd94aae54955aa95c81d 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationFullDetails.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/DocumentationFullDetails.vue
@@ -2,7 +2,7 @@
   <div v-bind="$attrs" v-on="$listeners">
     <v-card outlined dense rounded="lg" class="mb-2">
       <v-card-title class="text-subtitle-2 pb-1 font-weight-medium">
-        {{ $t("alsijil.coursebook.summary.topic") }}
+        {{ $t("alsijil.coursebook.summary.topic.label") }}
       </v-card-title>
       <v-card-text>{{ documentation.topic || "–" }}</v-card-text>
     </v-card>
diff --git a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonSummary.vue b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonSummary.vue
index 47bca3b28fbc36b092112147c317ded8c6e50eb0..7e3cc8841d95ff49f22943c99fba58ea90dfff25 100644
--- a/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonSummary.vue
+++ b/aleksis/apps/alsijil/frontend/components/coursebook/documentation/LessonSummary.vue
@@ -46,7 +46,7 @@
         }"
         hide-details
         outlined
-        :label="$t('alsijil.coursebook.summary.topic')"
+        :label="$t('alsijil.coursebook.summary.topic.label')"
         :value="documentation.topic"
         @input="topic = $event"
         @focusout="save"
@@ -54,11 +54,16 @@
         :loading="loading"
       >
         <template #append>
-          <v-scroll-x-transition>
-            <v-icon v-if="appendIcon" :color="appendIconColor">{{
-              appendIcon
-            }}</v-icon>
-          </v-scroll-x-transition>
+            <v-tooltip bottom>
+              <template v-slot:activator="{ on, attrs }">
+                <v-scroll-x-transition>
+                  <v-icon v-if="appendIcon" :color="appendIconColor" v-on="on" v-bind="attrs">{{
+                    appendIcon
+                  }}</v-icon>
+                </v-scroll-x-transition>
+              </template>
+              <span>{{ appendIconTooltip }}</span>
+            </v-tooltip>
         </template>
       </v-text-field>
       <div
@@ -97,7 +102,7 @@
     <v-text-field
       filled
       v-if="!compact && documentation.canEdit"
-      :label="$t('alsijil.coursebook.summary.topic')"
+      :label="$t('alsijil.coursebook.summary.topic.label')"
       :value="documentation.topic"
       @input="topic = $event"
     />
@@ -148,6 +153,7 @@ export default {
       homework: null,
       groupNote: null,
       appendIcon: null,
+      topicError: null,
     };
   },
   methods: {
@@ -174,6 +180,7 @@ export default {
       };
     },
     handleAppendIconSuccess() {
+      this.topicError = null;
       this.appendIcon = "$success";
       setTimeout(() => {
         this.appendIcon = "";
@@ -209,8 +216,9 @@ export default {
       this.save();
       event.target.blur();
     },
-    handleError() {
+    handleError(error) {
       this.appendIcon = "$error";
+      this.topicError = error;
     },
   },
   computed: {
@@ -245,6 +253,11 @@ export default {
         { $success: "success", $error: "error" }[this.appendIcon] || "primary"
       );
     },
+    appendIconTooltip() {
+      return (
+        { $success: this.$t("alsijil.coursebook.summary.topic.status.success"), $error: this.$t("alsijil.coursebook.summary.topic.status.error", { error: this.topicError }) }[this.appendIcon] || ""
+      );
+    },
   },
   mounted() {
     this.$on("save", this.handleAppendIconSuccess);
diff --git a/aleksis/apps/alsijil/frontend/messages/de.json b/aleksis/apps/alsijil/frontend/messages/de.json
index 614c3142e8d9d59c02b1ed79ead092690a2480b4..f38f1621d800af92e0c595a7f044b9895376c751 100644
--- a/aleksis/apps/alsijil/frontend/messages/de.json
+++ b/aleksis/apps/alsijil/frontend/messages/de.json
@@ -45,7 +45,13 @@
         "pending": "Stunde in der Zukunft"
       },
       "summary": {
-        "topic": "Thema",
+        "topic": {
+          "label": "Topic",
+          "status": {
+            "success": "Topic saved successfully",
+            "error": "There has been an error while saving the topic: {error}"
+          }
+        },
         "homework": {
           "label": "Hausaufgaben",
           "value": "HA: {homework}",
diff --git a/aleksis/apps/alsijil/frontend/messages/en.json b/aleksis/apps/alsijil/frontend/messages/en.json
index 679044209b95c578e4e89cb439f27745b5e3f9b2..acadfea9a598f5edf1952cd205166db7b6ecde62 100644
--- a/aleksis/apps/alsijil/frontend/messages/en.json
+++ b/aleksis/apps/alsijil/frontend/messages/en.json
@@ -45,7 +45,13 @@
         "pending": "Lesson pending"
       },
       "summary": {
-        "topic": "Topic",
+        "topic": {
+          "label": "Topic",
+          "status": {
+            "success": "Topic saved successfully",
+            "error": "There has been an error while saving the topic: {error}"
+          }
+        },
         "homework": {
           "label": "Homework",
           "value": "HW: {homework}",