diff --git a/package.json b/package.json
index 23ef37a7327ec1f1da6db85d002cbe77e66fb834..dadc7bdcf52e6d6c46a084450b4571d7a142c4d3 100644
--- a/package.json
+++ b/package.json
@@ -24,8 +24,8 @@
     "url": "git+ssh://git@github.com/LLK/scratch-gui.git"
   },
   "peerDependencies": {
-    "react": "^15.6.1",
-    "react-dom": "^15.6.1"
+    "react": "^16.0.0",
+    "react-dom": "^16.0.0"
   },
   "devDependencies": {
     "autoprefixer": "^7.1.3",
@@ -44,7 +44,7 @@
     "copy-webpack-plugin": "^4.0.1",
     "css-loader": "^0.28.7",
     "enzyme": "^3.1.0",
-    "enzyme-adapter-react-15": "1.0.1",
+    "enzyme-adapter-react-16": "1.0.1",
     "eslint": "^4.7.1",
     "eslint-config-scratch": "^5.0.0",
     "eslint-plugin-import": "^2.7.0",
@@ -66,18 +66,19 @@
     "postcss-loader": "^2.0.5",
     "postcss-simple-vars": "^4.0.0",
     "prop-types": "^15.5.10",
-    "react": "15.6.1",
-    "react-contextmenu": "2.7.0",
-    "react-dom": "15.6.1",
+    "raf": "^3.4.0",
+    "react": "16.0.0",
+    "react-contextmenu": "2.8.0",
+    "react-dom": "16.0.0",
     "react-draggable": "3.0.3",
     "react-intl": "2.4.0",
     "react-intl-redux": "0.6.0",
-    "react-modal": "2.3.1",
+    "react-modal": "3.0.0",
     "react-redux": "5.0.6",
-    "react-responsive": "1.3.4",
+    "react-responsive": "2.0.0",
     "react-style-proptype": "3.0.0",
     "react-tabs": "2.1.0",
-    "react-test-renderer": "15.6.1",
+    "react-test-renderer": "16.0.0",
     "redux": "3.7.0",
     "redux-mock-store": "^1.2.3",
     "redux-throttle": "0.1.1",
@@ -100,7 +101,8 @@
   },
   "jest": {
     "setupFiles": [
-        "<rootDir>/test/helpers/enzyme-setup.js"
+      "<rootDir>/test/helpers/enzyme-setup.js",
+      "raf/polyfill"
     ],
     "testPathIgnorePatterns": [
       "src/test.js"
diff --git a/test/helpers/enzyme-setup.js b/test/helpers/enzyme-setup.js
index 01619ac3e35f299b8e944c427d2823fb319a3835..5374f679d38ef65d773fdc12133032aae63c37b5 100644
--- a/test/helpers/enzyme-setup.js
+++ b/test/helpers/enzyme-setup.js
@@ -1,4 +1,4 @@
 import Enzyme from 'enzyme';
-import Adapter from 'enzyme-adapter-react-15';
+import Adapter from 'enzyme-adapter-react-16';
 
 Enzyme.configure({adapter: new Adapter()});