diff --git a/src/containers/CompanionArea.js b/src/containers/CompanionArea.js
index 22095d65e58bec600b6d08198841eb469fe08022..90c4c6b81ea1f4fcf1c77cde6f44617199341954 100644
--- a/src/containers/CompanionArea.js
+++ b/src/containers/CompanionArea.js
@@ -26,6 +26,7 @@ const styles = theme => ({
   },
   horizontal: {
     width: '100%',
+    flexDirection: 'column',
   },
   toggle: {
     position: 'absolute',
diff --git a/src/state/actions/companionWindow.js b/src/state/actions/companionWindow.js
index e01867b888c42e36559aa6f95814942af7112c2e..81ea10c5f162c36547a46dac7c9e5781e1c210cb 100644
--- a/src/state/actions/companionWindow.js
+++ b/src/state/actions/companionWindow.js
@@ -21,7 +21,7 @@ export function addCompanionWindow(payload, defaults = defaultProps) {
 /** */
 export function updateCompanionWindow(windowId, id, payload) {
   return (dispatch, getState) => {
-    if (payload.position) {
+    if (payload.position === 'left') {
       const { windows, companionWindows } = getState();
       const { companionWindowIds } = windows[windowId];
 
@@ -66,11 +66,11 @@ export function popOutCompanionWindow(windowId, panelType, position) {
     const { windows, companionWindows } = getState();
     const { companionWindowIds } = windows[windowId];
 
-    companionWindowIds
-      .filter(id => companionWindows[id].position === position)
-      .map(id => dispatch(removeCompanionWindow(id)));
-
     if (position === 'left') {
+      companionWindowIds
+        .filter(id => companionWindows[id].position === position)
+        .map(id => dispatch(removeCompanionWindow(id)));
+
       dispatch(setWindowSideBarPanel(windowId, panelType));
 
       dispatch(setCompanionAreaOpen(windowId, true));
@@ -79,8 +79,14 @@ export function popOutCompanionWindow(windowId, panelType, position) {
     const action = dispatch(addCompanionWindow({ content: panelType, position }));
 
     const companionWindowId = action.id;
-    const existingCompanionWindowIds = companionWindowIds
-      .filter(id => (companionWindows[id].position !== position));
+    let existingCompanionWindowIds;
+
+    if (position === 'left') {
+      existingCompanionWindowIds = companionWindowIds
+        .filter(id => (companionWindows[id].position !== position));
+    } else {
+      existingCompanionWindowIds = companionWindowIds;
+    }
 
     dispatch(updateWindow(windowId, {
       companionWindowIds: existingCompanionWindowIds.concat([companionWindowId]),