diff --git a/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js b/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js
index 79593cc08ad553f86c18a4b8ab0e76850212d598..0218f3633cae8503983fa386f895ce95bc522f53 100644
--- a/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js
+++ b/packages/component-faraday-ui/src/contextualBoxes/HERecommendation.js
@@ -79,11 +79,13 @@ const HERecommendation = ({
   handleSubmit,
   formValues,
   highlight,
+  ...rest
 }) => (
   <ContextualBox
-    highlight={highlight}
+    expanded
     label="Your Editorial Recommendation"
     mb={2}
+    {...rest}
   >
     <Root>
       <Row justify="flex-start">
diff --git a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptMetadata.js b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptMetadata.js
index 12d737abb56a3d36951d68884c3aae4b0e375d2a..8b28cbb35f783296f696148be2cf385a1a1a8aab 100644
--- a/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptMetadata.js
+++ b/packages/component-faraday-ui/src/manuscriptDetails/ManuscriptMetadata.js
@@ -16,14 +16,22 @@ const ManuscriptMetadata = ({
   getSignedUrl,
   currentUser: { token },
   fragment: { files = {}, conflicts = {}, metadata: { abstract = '' } },
+  abstractMetadataExpanded,
+  toggleAbstractMetadata,
+  toggleConflictsOfInterest,
+  conflictsOfInterestExpanded,
+  filesMetadataExpanded,
+  toggleFilesMetadata,
 }) => (
   <Fragment>
     {!!abstract && (
       <Item mb={1}>
         <ContextualBox
           data-test-id="abstract-tab"
+          expanded={abstractMetadataExpanded}
           label="Abstract"
           startExpanded
+          toggle={toggleAbstractMetadata}
           transparent
         >
           <Text mb={1} mt={1}>
@@ -36,7 +44,9 @@ const ManuscriptMetadata = ({
       <Item mb={1}>
         <ContextualBox
           data-test-id="conflict-of-interest-tab"
+          expanded={conflictsOfInterestExpanded}
           label="Conflict of Interest"
+          toggle={toggleConflictsOfInterest}
           transparent
         >
           <Row alignItems="center" justify="flex-start">
@@ -68,7 +78,13 @@ const ManuscriptMetadata = ({
     )}
     {!isEmpty(files) && (
       <Item mb={1}>
-        <ContextualBox data-test-id="files-tab" label={filesLabel} transparent>
+        <ContextualBox
+          data-test-id="files-tab"
+          expanded={filesMetadataExpanded}
+          label={filesLabel}
+          toggle={toggleFilesMetadata}
+          transparent
+        >
           <ManuscriptFileList
             files={files}
             getSignedUrl={getSignedUrl}
diff --git a/packages/component-manuscript/src/components/ManuscriptLayout.js b/packages/component-manuscript/src/components/ManuscriptLayout.js
index 589bf76083c0852480e0d3bde0e3a62ed13bfbf9..64fa83a98164bf9fb3cf58498afc8663951da9c4 100644
--- a/packages/component-manuscript/src/components/ManuscriptLayout.js
+++ b/packages/component-manuscript/src/components/ManuscriptLayout.js
@@ -55,15 +55,27 @@ const ManuscriptLayout = ({
   handlingEditors,
   canHEOnlyReject,
   toggleHEResponse,
+  toggleEicDecision,
   heResponseExpanded,
+  toggleReviewReport,
+  eicDecisionExpanded,
+  reviewReportExpanded,
   inviteHandlingEditor,
   toggleReviewerDetails,
-  isFetchingFromAutosave,
   recommendationHandler,
+  isFetchingFromAutosave,
+  toggleHERecommentation,
   toggleReviewerResponse,
   reviewerDetailsExpanded,
   toggleEditorialComments,
+  toggleAbstractMetadata,
+  abstractMetadataExpanded,
+  toggleConflictsOfInterest,
+  conflictsOfInterestExpanded,
+  toggleFilesMetadata,
+  filesMetadataExpanded,
   reviewerRecommendations,
+  HERecommendationExpanded,
   invitationsWithReviewers,
   reviewerResponseExpanded,
   pendingOwnRecommendation,
@@ -105,9 +117,15 @@ const ManuscriptLayout = ({
           versions={versions}
         />
         <ManuscriptMetadata
+          abstractMetadataExpanded={abstractMetadataExpanded}
+          conflictsOfInterestExpanded={conflictsOfInterestExpanded}
           currentUser={currentUser}
+          filesMetadataExpanded={filesMetadataExpanded}
           fragment={fragment}
           getSignedUrl={getSignedUrl}
+          toggleAbstractMetadata={toggleAbstractMetadata}
+          toggleConflictsOfInterest={toggleConflictsOfInterest}
+          toggleFilesMetadata={toggleFilesMetadata}
         />
 
         {get(currentUser, 'permissions.canViewEditorialComments', true) && (
@@ -138,11 +156,13 @@ const ManuscriptLayout = ({
         ) && (
           <ReviewerReports
             currentUser={currentUser}
+            expanded={reviewReportExpanded}
             getSignedUrl={getSignedUrl}
             invitations={invitationsWithReviewers}
             isLatestVersion={isLatestVersion}
             journal={journal}
             reviewerReports={reviewerRecommendations}
+            toggle={toggleReviewReport}
             token={get(currentUser, 'token')}
           />
         )}
@@ -248,24 +268,27 @@ const ManuscriptLayout = ({
                 canHEMakeRecommendationToPublish
               }
               canHEOnlyReject={canHEOnlyReject}
+              expanded={HERecommendationExpanded}
               formValues={get(formValues, 'editorialRecommendation', {})}
               highlight={reviewerRecommendations.length > 0}
               modalKey="heRecommendation"
               onRecommendationSubmit={
                 recommendationHandler.onEditorialRecommendation
               }
+              toggle={toggleHERecommentation}
             />
           )}
-
         {isLatestVersion &&
           get(currentUser, 'permissions.canMakeDecision', false) && (
             <ManuscriptEicDecision
               collection={collection}
+              expanded={eicDecisionExpanded}
               formValues={get(formValues, 'eicDecision')}
               highlight={editorialRecommendations.length > 0}
               messagesLabel={messagesLabel}
               mt={2}
               submitDecision={recommendationHandler.createRecommendation}
+              toggle={toggleEicDecision}
             />
           )}
       </Fragment>
diff --git a/packages/component-manuscript/src/components/ManuscriptPage.js b/packages/component-manuscript/src/components/ManuscriptPage.js
index ee40454d7d33d6901eea583c4d365d50a517f1fd..9b9a3cf79ea7c0111972b05ddffdcded7a430ac3 100644
--- a/packages/component-manuscript/src/components/ManuscriptPage.js
+++ b/packages/component-manuscript/src/components/ManuscriptPage.js
@@ -293,6 +293,30 @@ export default compose(
       }
     },
   }),
+  fromRenderProps(RemoteOpener, ({ toggle, expanded }) => ({
+    toggleAbstractMetadata: toggle,
+    abstractMetadataExpanded: expanded,
+  })),
+  fromRenderProps(RemoteOpener, ({ toggle, expanded }) => ({
+    toggleConflictsOfInterest: toggle,
+    conflictsOfInterestExpanded: expanded,
+  })),
+  fromRenderProps(RemoteOpener, ({ toggle, expanded }) => ({
+    toggleFilesMetadata: toggle,
+    filesMetadataExpanded: expanded,
+  })),
+  fromRenderProps(RemoteOpener, ({ toggle, expanded }) => ({
+    toggleReviewReport: toggle,
+    reviewReportExpanded: expanded,
+  })),
+  fromRenderProps(RemoteOpener, ({ toggle, expanded }) => ({
+    toggleHERecommentation: toggle,
+    HERecommendationExpanded: expanded,
+  })),
+  fromRenderProps(RemoteOpener, ({ toggle, expanded }) => ({
+    toggleEicDecision: toggle,
+    eicDecisionExpanded: expanded,
+  })),
   fromRenderProps(RemoteOpener, ({ toggle, expanded }) => ({
     toggleAssignHE: toggle,
     heExpanded: expanded,
@@ -344,8 +368,10 @@ export default compose(
         fetchUpdatedCollection,
         editorialRecommendations,
         fragment,
+        collection: { status },
         currentUser: {
           isEIC,
+          isReviewer,
           isInvitedHE,
           isInvitedToReview,
           isHEToManuscript,
@@ -372,6 +398,15 @@ export default compose(
         setEditorInChief(head(res.users)),
       )
 
+      if (isEIC && status === 'pendingApproval') {
+        this.props.toggleEicDecision()
+      }
+      if (isReviewer && status === 'reviewCompleted')
+        this.props.toggleReviewReport()
+
+      if (isHEToManuscript && status === 'reviewCompleted')
+        this.props.toggleHERecommentation()
+
       if (canInviteReviewers) {
         getPublonsReviewers(fragmentId, setError)
       }
diff --git a/packages/component-manuscript/src/components/ReviewerReports.js b/packages/component-manuscript/src/components/ReviewerReports.js
index 9d838360390efb16be9bb8a837d299b866c55c8a..3533cbf907017038acf759d4e8e0f575749bc42c 100644
--- a/packages/component-manuscript/src/components/ReviewerReports.js
+++ b/packages/component-manuscript/src/components/ReviewerReports.js
@@ -33,12 +33,14 @@ const ReviewerReports = ({
   token,
   invitations,
   reviwerReports,
+  ...rest
 }) => (
   <ContextualBox
     label={isLatestVersion ? 'Your Report' : 'Reviewer Reports'}
     mb={2}
     rightChildren={<SubmittedReports reports={reports.length} />}
     startExpanded
+    {...rest}
   >
     {reports.map(report => (
       <ReviewerReport