diff --git a/__tests__/integration/mirador/basic.test.js b/__tests__/integration/mirador/basic.test.js
index 0b7fbbedde365ed6cc3beeee9991482a9134e3e8..16e174dfda7dae0ee9b0cb5a1e0600d82e38c9ae 100644
--- a/__tests__/integration/mirador/basic.test.js
+++ b/__tests__/integration/mirador/basic.test.js
@@ -8,6 +8,7 @@ describe('Basic end to end Mirador', () => {
   });
   it('loads a manifest and displays it', async () => {
     await expect(page).toClick('#addBtn');
+    await expect(page).toClick('.mirador-add-resource-button');
     await expect(page).toFill('#manifestURL', 'http://localhost:5000/api/sn904cj3439');
     await expect(page).toClick('#fetchBtn');
     await expect(page).toMatchElement('[data-manifestid="http://localhost:5000/api/sn904cj3439"] button');
diff --git a/__tests__/integration/mirador/embedding.html b/__tests__/integration/mirador/embedding.html
index e37a484d7c0a8f443c89f9dfe573e07ef8e2c978..8b00ffc077dbaa6c154455db385658f505aca5c7 100644
--- a/__tests__/integration/mirador/embedding.html
+++ b/__tests__/integration/mirador/embedding.html
@@ -18,6 +18,9 @@
        width: 800px;
        height: 600px;
      }
+     .mirador-app {
+       border: 2px solid black;
+     }
     </style>
     <title>Mirador</title>
   </head>
diff --git a/__tests__/integration/mirador/invalid-api-response.test.js b/__tests__/integration/mirador/invalid-api-response.test.js
index 4cec574815a8ae86f09e7b1fa10c88c012c8b812..e89638524847f9379475517174322d55467bf6a1 100644
--- a/__tests__/integration/mirador/invalid-api-response.test.js
+++ b/__tests__/integration/mirador/invalid-api-response.test.js
@@ -4,6 +4,7 @@ describe('Mirador Invalid API Response Handler Test', () => {
   });
   it('breaks Mirador', async () => {
     await expect(page).toClick('#addBtn');
+    await expect(page).toClick('.mirador-add-resource-button');
     await expect(page).toFill('#manifestURL', 'http://localhost:5000/invalid');
     await expect(page).toClick('#fetchBtn');
     await page.waitFor(1000);
@@ -17,6 +18,7 @@ describe('Mirador Invalid API Response Handler Test', () => {
 
   it('renders an error message when a manifest cannot be loaded (and allows it to be dismissed)', async () => {
     await expect(page).toClick('#addBtn');
+    await expect(page).toClick('.mirador-add-resource-button');
     await expect(page).toFill('#manifestURL', 'http://localhost:5000/api/broken');
     await expect(page).toClick('#fetchBtn');
 
diff --git a/__tests__/integration/mirador/plugins.test.js b/__tests__/integration/mirador/plugins.test.js
index 775316b86682af357c16229382a6476313d1d747..8816fc2faa87b7c7b9bd491d1870a9ffb4d945e4 100644
--- a/__tests__/integration/mirador/plugins.test.js
+++ b/__tests__/integration/mirador/plugins.test.js
@@ -4,6 +4,7 @@ describe('Mirador plugin use', () => {
   beforeAll(async () => {
     await page.goto('http://127.0.0.1:4488/__tests__/integration/mirador/plugins.html');
     await expect(page).toClick('#addBtn');
+    await expect(page).toClick('.mirador-add-resource-button');
     await expect(page).toFill('#manifestURL', 'http://localhost:5000/api/sn904cj3439');
     await expect(page).toClick('#fetchBtn');
 
diff --git a/__tests__/integration/mirador/window_actions.test.js b/__tests__/integration/mirador/window_actions.test.js
index 5d3f1899fec06d2cce6c365200d09df9ba7b243b..d7c892b22f6853cebdedf616975ae43c1d903772 100644
--- a/__tests__/integration/mirador/window_actions.test.js
+++ b/__tests__/integration/mirador/window_actions.test.js
@@ -4,6 +4,7 @@ describe('Window actions', () => {
   });
   it('opens a window and closes it', async () => {
     await expect(page).toClick('#addBtn');
+    await expect(page).toClick('.mirador-add-resource-button');
     await expect(page).toFill('#manifestURL', 'http://localhost:5000/api/sn904cj3439');
     await expect(page).toClick('#fetchBtn');
 
diff --git a/__tests__/integration/mirador/window_sidebar.test.js b/__tests__/integration/mirador/window_sidebar.test.js
index 7b82d44ec92bc5926d2848e0903f8ae71c370896..242c5934518fd270b30b63cb8c6f4f15eabeb2f3 100644
--- a/__tests__/integration/mirador/window_sidebar.test.js
+++ b/__tests__/integration/mirador/window_sidebar.test.js
@@ -5,6 +5,7 @@ describe('Window Sidebars', () => {
     await page.goto('http://127.0.0.1:4488/__tests__/integration/mirador/');
 
     await expect(page).toClick('#addBtn');
+    await expect(page).toClick('.mirador-add-resource-button');
     await expect(page).toFill('#manifestURL', 'http://localhost:5000/api/001');
     await expect(page).toClick('#fetchBtn');
 
diff --git a/__tests__/src/components/App.test.js b/__tests__/src/components/App.test.js
index 4a9b939663e61883d499bdd2edd2fefe41e1bdeb..deb2fe2d4b423455b673f108f7ae1f149db4e480 100644
--- a/__tests__/src/components/App.test.js
+++ b/__tests__/src/components/App.test.js
@@ -1,7 +1,7 @@
 import React from 'react';
 import { shallow } from 'enzyme';
 import { MuiThemeProvider } from '@material-ui/core/styles';
-import Fullscreen from 'react-fullscreen-crossbrowser';
+import Fullscreen from 'react-full-screen';
 import WorkspaceControlPanel from '../../../src/containers/WorkspaceControlPanel';
 import Workspace from '../../../src/containers/Workspace';
 import WorkspaceAdd from '../../../src/containers/WorkspaceAdd';
diff --git a/package.json b/package.json
index 2e30890ca30358fee9349ff9d5229dff6f098b93..4afbe7b296d5fb4f855525a92c396be3552b7fbc 100644
--- a/package.json
+++ b/package.json
@@ -46,7 +46,7 @@
     "prop-types": "^15.6.2",
     "react": "^16.8.3",
     "react-dom": "^16.8.3",
-    "react-fullscreen-crossbrowser": "^1.0.9",
+    "react-full-screen": "^0.2.4",
     "react-i18next": "^10.2.0",
     "react-mosaic-component": "^2.1.0",
     "react-placeholder": "^3.0.1",
diff --git a/src/components/App.js b/src/components/App.js
index 41712e1e7e3316f44d072a5cdfaaa67e11218842..1812413368da323a941e720153bae29ee43ff2ed 100644
--- a/src/components/App.js
+++ b/src/components/App.js
@@ -2,7 +2,7 @@ import React, { Component } from 'react';
 import PropTypes from 'prop-types';
 import classNames from 'classnames';
 import { MuiThemeProvider, createMuiTheme } from '@material-ui/core/styles';
-import Fullscreen from 'react-fullscreen-crossbrowser';
+import Fullscreen from 'react-full-screen';
 import { I18nextProvider } from 'react-i18next';
 import WorkspaceControlPanel from '../containers/WorkspaceControlPanel';
 import Workspace from '../containers/Workspace';
diff --git a/src/components/WorkspaceAdd.js b/src/components/WorkspaceAdd.js
index 5fa01594bc23c04bb818be9a7994d3313f5f8b71..4bd4257ee1e2040c4e41a0bc308968451dfcf14d 100644
--- a/src/components/WorkspaceAdd.js
+++ b/src/components/WorkspaceAdd.js
@@ -1,5 +1,6 @@
 import React from 'react';
 import PropTypes from 'prop-types';
+import classNames from 'classnames';
 import AddIcon from '@material-ui/icons/AddSharp';
 import ExpandMoreIcon from '@material-ui/icons/ExpandMoreSharp';
 import AppBar from '@material-ui/core/AppBar';
@@ -56,12 +57,21 @@ export class WorkspaceAdd extends React.Component {
       <div className={ns('workspace-add')}>
         {manifestList}
 
-        <Fab variant="extended" disabled={addResourcesOpen} className={classes.fab} color="secondary" onClick={() => (this.setAddResourcesVisibility(true))}>
+        <Fab
+          variant="extended"
+          disabled={addResourcesOpen}
+          className={classNames(classes.fab, ns('add-resource-button'))}
+          color="secondary"
+          onClick={() => (this.setAddResourcesVisibility(true))}
+        >
           <AddIcon />
           {t('addResource')}
         </Fab>
 
         <Drawer
+          className={classNames({
+            [classes.displayNone]: !addResourcesOpen,
+          })}
           variant="persistent"
           anchor="bottom"
           open={addResourcesOpen}
diff --git a/src/containers/WorkspaceAdd.js b/src/containers/WorkspaceAdd.js
index 95eb22480ca373abade048334ba43958ea1fc1f3..6c0d45602ff3bdb6e0c40c110f468b9c773e554f 100644
--- a/src/containers/WorkspaceAdd.js
+++ b/src/containers/WorkspaceAdd.js
@@ -39,6 +39,9 @@ const styles = theme => ({
     bottom: theme.spacing.unit * 2,
     right: theme.spacing.unit * 2,
   },
+  displayNone: {
+    display: 'none',
+  },
   typographyBody: {
     flexGrow: 1,
     fontSize: '1em',
diff --git a/src/containers/WorkspaceControlPanel.js b/src/containers/WorkspaceControlPanel.js
index 03fb31567f0c5d4dd4ec0fa1d61111febc60143a..3b83bc9415f541edde5477a4f76ba30fa7dd42e0 100644
--- a/src/containers/WorkspaceControlPanel.js
+++ b/src/containers/WorkspaceControlPanel.js
@@ -13,7 +13,6 @@ const styles = theme => ({
   },
   drawer: {
     overflowX: 'hidden',
-    height: '100%',
   },
 });
 
diff --git a/src/styles/index.scss b/src/styles/index.scss
index 60c03c799e62218a620bcd7e758537546a9f7101..b7c6a9af4844a6ceff12ffc7e25f82a7db5998f3 100644
--- a/src/styles/index.scss
+++ b/src/styles/index.scss
@@ -22,7 +22,6 @@
     box-sizing: border-box;
     left: 0;
     margin: 0;
-    overflow: scroll;
     position: absolute;
     right: 0;
     top: 0;