diff --git a/app/javascript/vue/protocol/modals/publish_protocol.vue b/app/javascript/vue/protocol/modals/publish_protocol.vue
index ef3f2bbae..ff3d738fb 100644
--- a/app/javascript/vue/protocol/modals/publish_protocol.vue
+++ b/app/javascript/vue/protocol/modals/publish_protocol.vue
@@ -5,7 +5,7 @@
         <div class="modal-header">
           <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
           <h4 class="modal-title">
-            {{ i18n.t('protocols.publish_modal.title', { nr: protocol.attributes.version + 1 })}}
+            {{ i18n.t('protocols.publish_modal.title', { nr: protocol.attributes.version })}}
           </h4>
         </div>
         <div class="modal-body">
diff --git a/app/javascript/vue/protocol/protocolMetadata.vue b/app/javascript/vue/protocol/protocolMetadata.vue
index 64d50fe2a..10f72f730 100644
--- a/app/javascript/vue/protocol/protocolMetadata.vue
+++ b/app/javascript/vue/protocol/protocolMetadata.vue
@@ -103,17 +103,17 @@
     },
     computed: {
       titleVersion() {
-        const version = this.protocol.attributes.version;
+        const createdFromVersion = this.protocol.attributes.created_from_version;
 
         if (this.protocol.attributes.published) {
-          return version;
+          return this.protocol.attributes.version;
         }
 
-        if (version === this.i18n.t('protocols.draft')) {
-          return version;
+        if (!createdFromVersion) {
+          return this.i18n.t('protocols.draft');
         }
 
-        return this.i18n.t('protocols.header.draft_with_from_version', {nr: version});
+        return this.i18n.t('protocols.header.draft_with_from_version', {nr: createdFromVersion});
       }
     },
     methods: {
diff --git a/app/serializers/protocol_serializer.rb b/app/serializers/protocol_serializer.rb
index 8419ffcca..b697dc23a 100644
--- a/app/serializers/protocol_serializer.rb
+++ b/app/serializers/protocol_serializer.rb
@@ -10,18 +10,18 @@ class ProtocolSerializer < ActiveModel::Serializer
   attributes :name, :id, :urls, :description, :description_view, :updated_at, :in_repository,
              :created_at_formatted, :updated_at_formatted, :added_by, :authors, :keywords, :version,
              :code, :published, :version_comment, :archived, :linked, :has_draft,
-             :published_on_formatted, :published_by
+             :published_on_formatted, :published_by, :created_from_version
 
   def updated_at
     object.updated_at.to_i
   end
 
   def version
-    return object.version_number unless object.in_repository_draft?
+    object.version_number
+  end
 
-    return object.previous_version.version_number if object.previous_version
-
-    I18n.t('protocols.draft')
+  def created_from_version
+    object.previous_version&.version_number
   end
 
   def published