diff --git a/packages/component-invite/src/routes/fragmentsInvitations/decline.js b/packages/component-invite/src/routes/fragmentsInvitations/decline.js
index 6d661344665ccd70f199eb3b7b024dd46010c033..8d7e5d97541e08dc4a9ae912867ce58a8e61df4e 100644
--- a/packages/component-invite/src/routes/fragmentsInvitations/decline.js
+++ b/packages/component-invite/src/routes/fragmentsInvitations/decline.js
@@ -1,4 +1,5 @@
 const {
+  Team,
   services,
   Invitation,
   authsome: authsomeHelper,
@@ -73,6 +74,25 @@ module.exports = models => async (req, res) => {
 
   const baseUrl = services.getBaseUrl(req)
 
+  const teamHelper = new Team({
+    fragmentId,
+    collectionId,
+    TeamModel: models.Team,
+  })
+
+  const reviewerTeam = await teamHelper.getTeam({
+    role: 'reviewer',
+    objectType: 'fragment',
+  })
+
+  await teamHelper.removeTeamMember({
+    teamId: reviewerTeam.id,
+    userId: user.id,
+  })
+
+  user.teams = user.teams.filter(userTeamId => reviewerTeam.id !== userTeamId)
+  await user.save()
+
   notifications.sendNotifications({
     baseUrl,
     fragment,
diff --git a/packages/component-invite/src/routes/fragmentsInvitations/patch.js b/packages/component-invite/src/routes/fragmentsInvitations/patch.js
index b6bda8da6ee35e84b28b992cee9c86b6102ce3d2..20d059bcb68b96842426a1f6a71c246c98238c5c 100644
--- a/packages/component-invite/src/routes/fragmentsInvitations/patch.js
+++ b/packages/component-invite/src/routes/fragmentsInvitations/patch.js
@@ -1,4 +1,5 @@
 const {
+  Team,
   services,
   Collection,
   Invitation,
@@ -61,10 +62,32 @@ module.exports = models => async (req, res) => {
       fragment.save()
     } else {
       if (reason) invitation.reason = reason
+
       await fragment.save()
       collectionHelper.updateStatusByNumberOfReviewers({
         invitations: fragment.invitations,
       })
+
+      const teamHelper = new Team({
+        fragmentId,
+        collectionId,
+        TeamModel: models.Team,
+      })
+
+      const reviewerTeam = await teamHelper.getTeam({
+        role: 'reviewer',
+        objectType: 'fragment',
+      })
+
+      await teamHelper.removeTeamMember({
+        teamId: reviewerTeam.id,
+        userId: user.id,
+      })
+
+      user.teams = user.teams.filter(
+        userTeamId => reviewerTeam.id !== userTeamId,
+      )
+      await user.save()
     }
 
     notifications.sendNotifications({
diff --git a/packages/component-invite/src/tests/fragmentsInvitations/patch.test.js b/packages/component-invite/src/tests/fragmentsInvitations/patch.test.js
index 8ce62849aeaf74fe31749028fa9cccf1834e6fff..15d6f7a45edb01cde39e137b57121fd8520a5168 100644
--- a/packages/component-invite/src/tests/fragmentsInvitations/patch.test.js
+++ b/packages/component-invite/src/tests/fragmentsInvitations/patch.test.js
@@ -62,6 +62,7 @@ describe('Patch fragments invitations route handler', () => {
     await require(patchPath)(models)(req, res)
 
     expect(res.statusCode).toBe(200)
+    expect(reviewer.teams).toHaveLength(0)
   })
   it('should return an error if the collection does not exist', async () => {
     const { handlingEditor } = testFixtures.users
diff --git a/packages/component-mts-package/config/default.js b/packages/component-mts-package/config/default.js
index bf1f239eb09ce13400de74acb78501622867fb33..bb85c1548b8ff3d3fe551c6ef63334be3b5d9279 100644
--- a/packages/component-mts-package/config/default.js
+++ b/packages/component-mts-package/config/default.js
@@ -33,9 +33,36 @@ const defaultFTPConfig = {
   exclude: ['*.js'],
 }
 
+const journalConfig = {
+  manuscriptTypes: [
+    {
+      label: 'Research Article',
+      value: 'research',
+      author: true,
+      peerReview: true,
+      abstractRequired: true,
+    },
+    {
+      label: 'Review Article',
+      value: 'review',
+      author: true,
+      peerReview: true,
+      abstractRequired: true,
+    },
+    {
+      label: 'Letter to the editor',
+      value: 'letter-to-editor',
+      author: true,
+      peerReview: false,
+      abstractRequired: false,
+    },
+  ],
+}
+
 module.exports = {
   defaultConfig,
   defaultParseXmlOptions,
   defaultS3Config,
   defaultFTPConfig,
+  journalConfig,
 }
diff --git a/packages/component-mts-package/src/MTS.js b/packages/component-mts-package/src/MTS.js
index 0f9a82235ff2dd0bd6517e9e948cacef33f64053..22d862896b71ffa81a67478a708a0dadcc262974 100644
--- a/packages/component-mts-package/src/MTS.js
+++ b/packages/component-mts-package/src/MTS.js
@@ -1,8 +1,12 @@
 const convert = require('xml-js')
-const { set, get, reduce, isEmpty } = require('lodash')
+const config = require('config')
+const { set, get, reduce, isEmpty, capitalize } = require('lodash')
 
 const PackageManager = require('./PackageManager')
 const mts = require('./mts-json-template')
+
+const manuscriptTypes = config.get('journalConfig.manuscriptTypes')
+
 const {
   defaultConfig,
   defaultParseXmlOptions,
@@ -76,7 +80,11 @@ class MTS {
             'subj-group-type': 'Article Type',
           },
           subject: {
-            _text: metadata.type,
+            _text: get(
+              manuscriptTypes.find(v => v.value === metadata.type),
+              'label',
+              'Research Article',
+            ),
           },
         },
       ],
@@ -147,53 +155,67 @@ class MTS {
     const {
       hasConflicts = 'no',
       message = '',
-      hasDataAvailability,
-      dataAvailabilityMessage,
-      hasFunding,
-      fundingMessage,
+      hasDataAvailability = 'no',
+      dataAvailabilityMessage = '',
+      hasFunding = 'no',
+      fundingMessage = '',
     } = conflicts
     const questions = []
+    const funding = isEmpty(hasFunding) ? 'no' : hasFunding
+    const dataAvailability = isEmpty(hasDataAvailability)
+      ? 'no'
+      : hasDataAvailability
 
+    const getQuestionMessage = (selection, message, defaultMessage) => {
+      if (selection === 'yes') {
+        return ''
+      }
+      return isEmpty(message) ? defaultMessage : message
+    }
     if (!isEmpty(hasConflicts)) {
       questions.push({
         _attributes: {
           type: 'COI',
         },
         answer: {
-          _text: hasConflicts,
+          _text: capitalize(hasConflicts),
         },
         statement: {
           _text: message,
         },
       })
     }
-    if (!isEmpty(hasDataAvailability)) {
+    if (!isEmpty(dataAvailability)) {
       questions.push({
         _attributes: {
           type: 'DA',
         },
         answer: {
-          _text: hasDataAvailability,
+          _text: capitalize(dataAvailability),
         },
         statement: {
-          _text: isEmpty(dataAvailabilityMessage)
-            ? 'The authors for this paper did not provide a data availability statement'
-            : dataAvailabilityMessage,
+          _text: getQuestionMessage(
+            dataAvailability,
+            dataAvailabilityMessage,
+            'The authors for this paper did not provide a data availability statement',
+          ),
         },
       })
     }
-    if (!isEmpty(hasFunding)) {
+    if (!isEmpty(funding)) {
       questions.push({
         _attributes: {
           type: 'Fund',
         },
         answer: {
-          _text: hasFunding,
+          _text: capitalize(funding),
         },
         statement: {
-          _text: isEmpty(fundingMessage)
-            ? 'The authors for this paper did not provide a funding statement'
-            : fundingMessage,
+          _text: getQuestionMessage(
+            funding,
+            fundingMessage,
+            'The authors for this paper did not provide a funding statement',
+          ),
         },
       })
     }
@@ -206,7 +228,7 @@ class MTS {
     const contrib = authors.map((a, i) => ({
       _attributes: {
         'contrib-type': 'author',
-        corresp: a.isCorresponding ? 'yes' : 'no',
+        corresp: a.isCorresponding ? 'Yes' : 'No',
       },
       role: {
         _attributes: {
diff --git a/packages/hindawi-theme/src/elements/Menu.js b/packages/hindawi-theme/src/elements/Menu.js
index 3f3878c1c89d55ecb6726163feea99d9ef3ea3e9..8932e3c988cc7e570d2ff5f6faf11b87a2466e72 100644
--- a/packages/hindawi-theme/src/elements/Menu.js
+++ b/packages/hindawi-theme/src/elements/Menu.js
@@ -42,6 +42,7 @@ export default {
   Options: css`
     background: ${th('colorBackgroundHue')};
     box-shadow: ${th('menu.openerShadow')};
+    min-width: fit-content;
   `,
   Option: css`
     border: none;
diff --git a/packages/xpub-faraday/app/config/journal/metadata.js b/packages/xpub-faraday/app/config/journal/metadata.js
index d23e29ac87bd7daba4425925e1969f69a0beeecc..3a1ef627a1a1cc8d89f0e49f4db95a0e8cdd575b 100644
--- a/packages/xpub-faraday/app/config/journal/metadata.js
+++ b/packages/xpub-faraday/app/config/journal/metadata.js
@@ -7,10 +7,10 @@ module.exports = {
     doctype: 'article SYSTEM "JATS-archivearticle1-mathml3.dtd"',
     dtdVersion: '1.1d1',
     articleType: 'Research Article',
-    journalIdPublisher: 'research',
+    journalIdPublisher: 'BCA',
     email: 'bca.support@hindawi.com',
     journalTitle: 'Bioinorganic Chemistry and Applications',
     issn: '2474-7394',
-    prefix: 'RESEARCH-BCA-',
+    prefix: 'BCA-',
   },
 }
diff --git a/packages/xpub-faraday/config/default.js b/packages/xpub-faraday/config/default.js
index 79f2c7ccb86e9d8752fd932ded3c577622a2af96..2e0282b488877c38e737c366e0da6ba7dc7730e8 100644
--- a/packages/xpub-faraday/config/default.js
+++ b/packages/xpub-faraday/config/default.js
@@ -81,6 +81,7 @@ module.exports = {
       remoteRoot: '/BCA/',
       exclude: ['*.js'],
     },
+    journal: get(journalConfig, 'metadata.mts'),
   },
   'invite-reset-password': {
     url: process.env.PUBSWEET_INVITE_PASSWORD_RESET_URL || '/invite',