diff --git a/app/assets/javascripts/mr_notes/stores/index.js b/app/assets/javascripts/mr_notes/stores/index.js
index c4225c8ec08b8bcff3bb2e978dc63bf423b8b6f5..8fbd0291a7de20cfac1fe52ad1b10766fb0f7ddf 100644
--- a/app/assets/javascripts/mr_notes/stores/index.js
+++ b/app/assets/javascripts/mr_notes/stores/index.js
@@ -9,7 +9,7 @@ Vue.use(Vuex);
 export const createStore = () =>
   new Vuex.Store({
     modules: {
-      page: mrPageModule,
+      page: mrPageModule(),
       notes: notesModule(),
       diffs: diffsModule(),
     },
diff --git a/app/assets/javascripts/mr_notes/stores/modules/index.js b/app/assets/javascripts/mr_notes/stores/modules/index.js
index 660081f76c8e15ff1178ca817cc515ae2bbd5487..c28e666943bfc0d77e356d859af2f102c0ce7fd9 100644
--- a/app/assets/javascripts/mr_notes/stores/modules/index.js
+++ b/app/assets/javascripts/mr_notes/stores/modules/index.js
@@ -2,11 +2,11 @@ import actions from '../actions';
 import getters from '../getters';
 import mutations from '../mutations';
 
-export default {
+export default () => ({
   state: {
     activeTab: null,
   },
   actions,
   getters,
   mutations,
-};
+});
diff --git a/ee/app/assets/javascripts/mr_notes/stores/index.js b/ee/app/assets/javascripts/mr_notes/stores/index.js
index 60797322e2f2d6bce3969988c6b0bd91691ef604..3ccfe4401231eadfb8ac70e050dfb04ef1437a47 100644
--- a/ee/app/assets/javascripts/mr_notes/stores/index.js
+++ b/ee/app/assets/javascripts/mr_notes/stores/index.js
@@ -10,7 +10,7 @@ Vue.use(Vuex);
 export const createStore = () =>
   new Vuex.Store({
     modules: {
-      page: mrPageModule,
+      page: mrPageModule(),
       notes: notesModule(),
       diffs: diffsModule(),
       batchComments: batchCommentsModule(),
diff --git a/spec/javascripts/diffs/components/compare_versions_spec.js b/spec/javascripts/diffs/components/compare_versions_spec.js
index 77f8352047c117aa75b95139397cdbb3f6a76fc4..ef4bb47073493472cf888abbd0bfff3acb98f29b 100644
--- a/spec/javascripts/diffs/components/compare_versions_spec.js
+++ b/spec/javascripts/diffs/components/compare_versions_spec.js
@@ -1,6 +1,6 @@
 import Vue from 'vue';
 import CompareVersionsComponent from '~/diffs/components/compare_versions.vue';
-import store from '~/mr_notes/stores';
+import { createStore } from '~/mr_notes/stores';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import diffsMockData from '../mock_data/merge_request_diffs';
 import getDiffWithCommit from '../mock_data/diff_with_commit';
@@ -10,6 +10,8 @@ describe('CompareVersions', () => {
   const targetBranch = { branchName: 'tmp-wine-dev', versionIndex: -1 };
 
   beforeEach(() => {
+    const store = createStore();
+
     store.state.diffs.addedLines = 10;
     store.state.diffs.removedLines = 20;
     store.state.diffs.diffFiles.push('test');
diff --git a/spec/javascripts/diffs/components/diff_expansion_cell_spec.js b/spec/javascripts/diffs/components/diff_expansion_cell_spec.js
index cb1966b212267260ae5055906fae55e32196af8d..63c50c09fce16542aa5f6727c6171cfdef627da4 100644
--- a/spec/javascripts/diffs/components/diff_expansion_cell_spec.js
+++ b/spec/javascripts/diffs/components/diff_expansion_cell_spec.js
@@ -1,5 +1,5 @@
 import Vue from 'vue';
-import store from '~/mr_notes/stores';
+import { createStore } from '~/mr_notes/stores';
 import DiffExpansionCell from '~/diffs/components/diff_expansion_cell.vue';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import diffFileMockData from '../mock_data/diff_file';
@@ -22,7 +22,7 @@ describe('DiffExpansionCell', () => {
     };
     const props = Object.assign({}, defaults, options);
 
-    return createComponentWithStore(cmp, store, props).$mount();
+    return createComponentWithStore(cmp, createStore(), props).$mount();
   };
 
   describe('top row', () => {
diff --git a/spec/javascripts/diffs/components/diff_file_spec.js b/spec/javascripts/diffs/components/diff_file_spec.js
index 18da0a473d68b533e90e2cd227ab7e2154da2a2f..3ca2d1dc934ba7e45b1509e4f12ef3d61002808a 100644
--- a/spec/javascripts/diffs/components/diff_file_spec.js
+++ b/spec/javascripts/diffs/components/diff_file_spec.js
@@ -1,7 +1,7 @@
 import Vue from 'vue';
 import DiffFileComponent from '~/diffs/components/diff_file.vue';
 import { diffViewerModes, diffViewerErrors } from '~/ide/constants';
-import store from 'ee_else_ce/mr_notes/stores';
+import { createStore } from 'ee_else_ce/mr_notes/stores';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import diffFileMockData from '../mock_data/diff_file';
 
@@ -9,7 +9,7 @@ describe('DiffFile', () => {
   let vm;
 
   beforeEach(() => {
-    vm = createComponentWithStore(Vue.extend(DiffFileComponent), store, {
+    vm = createComponentWithStore(Vue.extend(DiffFileComponent), createStore(), {
       file: JSON.parse(JSON.stringify(diffFileMockData)),
       canCurrentUserFork: false,
     }).$mount();
@@ -36,7 +36,7 @@ describe('DiffFile', () => {
 
       vm.$nextTick()
         .then(() => {
-          expect(el.querySelectorAll('.line_content').length).toBeGreaterThanOrEqual(5);
+          expect(el.querySelectorAll('.line_content').length).toBe(5);
           expect(el.querySelectorAll('.js-line-expansion-content').length).toBe(1);
         })
         .then(done)
diff --git a/spec/javascripts/diffs/components/diff_line_gutter_content_spec.js b/spec/javascripts/diffs/components/diff_line_gutter_content_spec.js
index 99b5496c24b58d5828170d6bf82fd34f2be57510..6bb704658fba7f175f42c27c3025eb2555906504 100644
--- a/spec/javascripts/diffs/components/diff_line_gutter_content_spec.js
+++ b/spec/javascripts/diffs/components/diff_line_gutter_content_spec.js
@@ -1,6 +1,6 @@
 import Vue from 'vue';
 import DiffLineGutterContent from '~/diffs/components/diff_line_gutter_content.vue';
-import store from '~/mr_notes/stores';
+import { createStore } from '~/mr_notes/stores';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import discussionsMockData from '../mock_data/diff_discussions';
 import diffFileMockData from '../mock_data/diff_file';
@@ -23,7 +23,7 @@ describe('DiffLineGutterContent', () => {
     props.fileHash = getDiffFileMock().file_hash;
     props.contextLinesPath = '/context/lines/path';
 
-    return createComponentWithStore(cmp, store, props).$mount();
+    return createComponentWithStore(cmp, createStore(), props).$mount();
   };
 
   describe('computed', () => {
@@ -61,7 +61,7 @@ describe('DiffLineGutterContent', () => {
           contextLinesPath: '/context/lines/path',
         };
         props.line.discussions = [Object.assign({}, discussionsMockData)];
-        const component = createComponentWithStore(cmp, store, props).$mount();
+        const component = createComponentWithStore(cmp, createStore(), props).$mount();
 
         expect(component.hasDiscussions).toEqual(true);
         expect(component.shouldShowAvatarsOnGutter).toEqual(true);
diff --git a/spec/javascripts/diffs/components/diff_line_note_form_spec.js b/spec/javascripts/diffs/components/diff_line_note_form_spec.js
index b983dc35a57641b61007179f497acf6cc9905c57..237cfccfa29a745348c481de19999c886524074a 100644
--- a/spec/javascripts/diffs/components/diff_line_note_form_spec.js
+++ b/spec/javascripts/diffs/components/diff_line_note_form_spec.js
@@ -1,6 +1,6 @@
 import Vue from 'vue';
 import DiffLineNoteForm from '~/diffs/components/diff_line_note_form.vue';
-import store from '~/mr_notes/stores';
+import { createStore } from '~/mr_notes/stores';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import diffFileMockData from '../mock_data/diff_file';
 import { noteableDataMock } from '../../notes/mock_data';
@@ -15,7 +15,7 @@ describe('DiffLineNoteForm', () => {
     diffFile = getDiffFileMock();
     diffLines = diffFile.highlighted_diff_lines;
 
-    component = createComponentWithStore(Vue.extend(DiffLineNoteForm), store, {
+    component = createComponentWithStore(Vue.extend(DiffLineNoteForm), createStore(), {
       diffFileHash: diffFile.file_hash,
       diffLines,
       line: diffLines[0],
diff --git a/spec/javascripts/diffs/components/diff_table_cell_spec.js b/spec/javascripts/diffs/components/diff_table_cell_spec.js
index 170e661beeaee408cd41fb7487d0dfb311a22311..a5a042c577c37cdfab51930ca072633bf7556b15 100644
--- a/spec/javascripts/diffs/components/diff_table_cell_spec.js
+++ b/spec/javascripts/diffs/components/diff_table_cell_spec.js
@@ -1,12 +1,12 @@
 import Vue from 'vue';
-import store from '~/mr_notes/stores';
+import { createStore } from '~/mr_notes/stores';
 import DiffTableCell from '~/diffs/components/diff_table_cell.vue';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import diffFileMockData from '../mock_data/diff_file';
 
 describe('DiffTableCell', () => {
   const createComponent = options =>
-    createComponentWithStore(Vue.extend(DiffTableCell), store, {
+    createComponentWithStore(Vue.extend(DiffTableCell), createStore(), {
       line: diffFileMockData.highlighted_diff_lines[0],
       fileHash: diffFileMockData.file_hash,
       contextLinesPath: 'contextLinesPath',
diff --git a/spec/javascripts/diffs/components/inline_diff_expansion_row_spec.js b/spec/javascripts/diffs/components/inline_diff_expansion_row_spec.js
index bf50070a4f5d134778a5f9611d588d73a9b5ff72..290b3d7c803aa39e0faa84a11cf1ae03d4d6ba0d 100644
--- a/spec/javascripts/diffs/components/inline_diff_expansion_row_spec.js
+++ b/spec/javascripts/diffs/components/inline_diff_expansion_row_spec.js
@@ -1,5 +1,5 @@
 import Vue from 'vue';
-import store from '~/mr_notes/stores';
+import { createStore } from '~/mr_notes/stores';
 import InlineDiffExpansionRow from '~/diffs/components/inline_diff_expansion_row.vue';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import diffFileMockData from '../mock_data/diff_file';
@@ -18,7 +18,7 @@ describe('InlineDiffExpansionRow', () => {
     };
     const props = Object.assign({}, defaults, options);
 
-    return createComponentWithStore(cmp, store, props).$mount();
+    return createComponentWithStore(cmp, createStore(), props).$mount();
   };
 
   describe('template', () => {
diff --git a/spec/javascripts/diffs/components/inline_diff_table_row_spec.js b/spec/javascripts/diffs/components/inline_diff_table_row_spec.js
index 97926f6625ef81953e4206a245cde85990aabc4d..0ddffe926d96bba9ce5c47d040456e17a415be9e 100644
--- a/spec/javascripts/diffs/components/inline_diff_table_row_spec.js
+++ b/spec/javascripts/diffs/components/inline_diff_table_row_spec.js
@@ -1,5 +1,5 @@
 import Vue from 'vue';
-import store from '~/mr_notes/stores';
+import { createStore } from '~/mr_notes/stores';
 import InlineDiffTableRow from '~/diffs/components/inline_diff_table_row.vue';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import diffFileMockData from '../mock_data/diff_file';
@@ -9,7 +9,7 @@ describe('InlineDiffTableRow', () => {
   const thisLine = diffFileMockData.highlighted_diff_lines[0];
 
   beforeEach(() => {
-    vm = createComponentWithStore(Vue.extend(InlineDiffTableRow), store, {
+    vm = createComponentWithStore(Vue.extend(InlineDiffTableRow), createStore(), {
       line: thisLine,
       fileHash: diffFileMockData.file_hash,
       contextLinesPath: 'contextLinesPath',
diff --git a/spec/javascripts/diffs/components/inline_diff_view_spec.js b/spec/javascripts/diffs/components/inline_diff_view_spec.js
index 3963e37fae22663f0cac5176da5df44a8fdc31b5..486d9629e268e0462b6fab8a46f500439b80224a 100644
--- a/spec/javascripts/diffs/components/inline_diff_view_spec.js
+++ b/spec/javascripts/diffs/components/inline_diff_view_spec.js
@@ -1,7 +1,7 @@
 import Vue from 'vue';
 import '~/behaviors/markdown/render_gfm';
 import InlineDiffView from '~/diffs/components/inline_diff_view.vue';
-import store from 'ee_else_ce/mr_notes/stores';
+import { createStore } from 'ee_else_ce/mr_notes/stores';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import diffFileMockData from '../mock_data/diff_file';
 import discussionsMockData from '../mock_data/diff_discussions';
@@ -15,6 +15,8 @@ describe('InlineDiffView', () => {
   beforeEach(done => {
     const diffFile = getDiffFileMock();
 
+    const store = createStore();
+
     store.dispatch('diffs/setInlineDiffViewType');
     component = createComponentWithStore(Vue.extend(InlineDiffView), store, {
       diffFile,
diff --git a/spec/javascripts/diffs/components/parallel_diff_expansion_row_spec.js b/spec/javascripts/diffs/components/parallel_diff_expansion_row_spec.js
index 134738932b3608a7fe08ed76ce6856b51c25cb30..a766ebb5efb8e509c11a2618eafbf1e14de44304 100644
--- a/spec/javascripts/diffs/components/parallel_diff_expansion_row_spec.js
+++ b/spec/javascripts/diffs/components/parallel_diff_expansion_row_spec.js
@@ -1,5 +1,5 @@
 import Vue from 'vue';
-import store from '~/mr_notes/stores';
+import { createStore } from '~/mr_notes/stores';
 import ParallelDiffExpansionRow from '~/diffs/components/parallel_diff_expansion_row.vue';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import diffFileMockData from '../mock_data/diff_file';
@@ -18,7 +18,7 @@ describe('ParallelDiffExpansionRow', () => {
     };
     const props = Object.assign({}, defaults, options);
 
-    return createComponentWithStore(cmp, store, props).$mount();
+    return createComponentWithStore(cmp, createStore(), props).$mount();
   };
 
   describe('template', () => {
diff --git a/spec/javascripts/diffs/components/parallel_diff_view_spec.js b/spec/javascripts/diffs/components/parallel_diff_view_spec.js
index 236bda9614556ed0eb2b778a10b3668fbafe72d3..191313bf4875642b2e2e19d4aa56c496b1147a20 100644
--- a/spec/javascripts/diffs/components/parallel_diff_view_spec.js
+++ b/spec/javascripts/diffs/components/parallel_diff_view_spec.js
@@ -1,6 +1,6 @@
 import Vue from 'vue';
 import ParallelDiffView from '~/diffs/components/parallel_diff_view.vue';
-import store from 'ee_else_ce/mr_notes/stores';
+import { createStore } from 'ee_else_ce/mr_notes/stores';
 import * as constants from '~/diffs/constants';
 import { createComponentWithStore } from 'spec/helpers/vue_mount_component_helper';
 import diffFileMockData from '../mock_data/diff_file';
@@ -12,7 +12,7 @@ describe('ParallelDiffView', () => {
   beforeEach(() => {
     const diffFile = getDiffFileMock();
 
-    component = createComponentWithStore(Vue.extend(ParallelDiffView), store, {
+    component = createComponentWithStore(Vue.extend(ParallelDiffView), createStore(), {
       diffFile,
       diffLines: diffFile.parallel_diff_lines,
     }).$mount();