diff --git a/package.json b/package.json
index 5e0c9cbdd54832473e5e6c0110ba08746cecc621..cb5cc0b6890926ea9dfcc28214d47082a4ac7dbb 100644
--- a/package.json
+++ b/package.json
@@ -52,7 +52,8 @@
     "redux-devtools-extension": "^2.13.2",
     "redux-thunk": "^2.3.0",
     "sass-loader": "^7.1.0",
-    "uuid": "^3.3.2"
+    "uuid": "^3.3.2",
+    "why-did-you-update": "^1.0.6"
   },
   "devDependencies": {
     "@babel/core": "^7.2.0",
diff --git a/src/lib/MiradorViewer.js b/src/lib/MiradorViewer.js
index 2fd7d8b5558780c8d4e97db1ac81ed04bfd8870f..8447bcbd15e311fa4e018b9ccdbb80b3f6004475 100644
--- a/src/lib/MiradorViewer.js
+++ b/src/lib/MiradorViewer.js
@@ -3,6 +3,7 @@ import ReactDOM from 'react-dom';
 import { Provider } from 'react-redux';
 import { I18nextProvider } from 'react-i18next';
 import deepmerge from 'deepmerge';
+import whyDidYouUpdate from 'why-did-you-update';
 import App from '../containers/App';
 import createRootReducer from '../state/reducers/index';
 import createStore from '../state/createStore';
@@ -10,6 +11,8 @@ import * as actions from '../state/actions';
 import settings from '../config/settings';
 import i18n from '../i18n';
 
+whyDidYouUpdate(React);
+
 /**
  * Default Mirador instantiation
  */