diff --git a/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue b/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue
index 835ec918aa6802346c5f3990c6f2b8872d63318d..6ad3b94f6cbf643e4828f15c8ab2053376ba96f7 100644
--- a/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue
+++ b/frontend/src/components/submission_notes/toolbars/AnnotatedSubmissionBottomToolbar.vue
@@ -61,11 +61,7 @@
     data () {
       return {
         scoreError: '',
-        initialIsFinal: this.$store.state.submissionNotes.origFeedback.isFinal ||
-          !this.$store.getters['submissionNotes/isFeedbackCreation'] || this.$store.getters.isReviewer,
-        isFinal: this.$store.state.submissionNotes.origFeedback.isFinal ||
-          !this.$store.getters['submissionNotes/isFeedbackCreation'] || this.$store.getters.isReviewer
-
+        isFinal: this.initialFinalStatus()
       }
     },
     props: {
@@ -102,16 +98,23 @@
     watch: {
       feedback: {
         handler: function (val) {
-          if (!val.hasOwnProperty('is_final')) {
-            this.isFinal = this.initialValue
-          } else {
-            this.isFinal = val.is_final
-          }
+          this.isFinal = this.initialFinalStatus()
         },
         deep: true
       }
     },
     methods: {
+      initialFinalStatus () {
+        if (this.$route.name === 'subscription') {
+          return !this.$store.getters['submissionNotes/isFeedbackCreation'] || this.$store.getters.isReviewer
+        } else {
+          if (this.feedback.hasOwnProperty('is_final')) {
+            return this.feedback.is_final
+          } else {
+            return !this.$store.getters['submissionNotes/isFeedbackCreation'] || this.$store.getters.isReviewer
+          }
+        }
+      },
       emitScoreError (error, duration) {
         this.scoreError = error
         setTimeout(() => { this.scoreError = '' }, duration)
@@ -130,7 +133,6 @@
       },
       submit () {
         this.$emit('submitFeedback', {isFinal: this.isFinal})
-        this.isFinal = this.initialIsFinal
       }
     }
   }
diff --git a/frontend/src/pages/SubscriptionWorkPage.vue b/frontend/src/pages/SubscriptionWorkPage.vue
index 747fc714571fcb722599877ebb794e5fb9889881..42b73bdf19a649648d86c00425b52317ad2b7344 100644
--- a/frontend/src/pages/SubscriptionWorkPage.vue
+++ b/frontend/src/pages/SubscriptionWorkPage.vue
@@ -44,6 +44,9 @@
           next()
         })
         store.dispatch('getAssignmentForSubscription', {subscription})
+      } else if (subscription['assignments'].length === 1) {
+        store.dispatch('getAssignmentForSubscription', {subscription})
+        next()
       } else {
         next()
       }