diff --git a/src/core/flow.js b/src/core/flow.js
index <HASH>..<HASH> 100644
--- a/src/core/flow.js
+++ b/src/core/flow.js
@@ -19,6 +19,10 @@ import * as Actions from './action-types';
  * @param {...object} numPlayers - The number of players.
  */
 export function createGameFlow({game, numPlayers}) {
+  if (game.flow) {
+    return game.flow;
+  }
+
   const initial = {
     turn: 0,
     currentPlayer: '0',
diff --git a/src/core/reducer.js b/src/core/reducer.js
index <HASH>..<HASH> 100644
--- a/src/core/reducer.js
+++ b/src/core/reducer.js
@@ -52,7 +52,7 @@ export function createGameReducer({game, numPlayers}) {
     _initial: {}
   };
 
-  const GameFlow = game.flow || createGameFlow({game, numPlayers});
+  const GameFlow = createGameFlow({game, numPlayers});
   initial.ctx = GameFlow(undefined, { type: {} });
 
   const deepCopy = obj => JSON.parse(JSON.stringify(obj));
move game.flow override inside createGameFlow