diff --git a/src/web/app/desktop/tags/drive/browser-window.tag b/src/web/app/desktop/tags/drive/browser-window.tag
index dc55371da6..b5f368f1f4 100644
--- a/src/web/app/desktop/tags/drive/browser-window.tag
+++ b/src/web/app/desktop/tags/drive/browser-window.tag
@@ -1,11 +1,11 @@
 <mk-drive-browser-window>
-	<mk-window ref="window" is-modal={ false } width={ '800px' } height={ '500px' }>
+	<mk-window ref="window" is-modal={ false } width={ '800px' } height={ '500px' } popout={ popout }>
 		<yield to="header">
 			<p class="info" if={ parent.usage }><b>{ parent.usage.toFixed(1) }%</b> %i18n:desktop.tags.mk-drive-browser-window.used%</p>
 			<i class="fa fa-cloud"></i>%i18n:desktop.tags.mk-drive-browser-window.drive%
 		</yield>
 		<yield to="content">
-			<mk-drive-browser multiple={ true } folder={ parent.folder }/>
+			<mk-drive-browser multiple={ true } folder={ parent.folder } ref="browser"/>
 		</yield>
 	</mk-window>
 	<style>
@@ -28,10 +28,21 @@
 
 	</style>
 	<script>
+		import CONFIG from '../../../common/scripts/config';
+
 		this.mixin('api');
 
 		this.folder = this.opts.folder ? this.opts.folder : null;
 
+		this.popout = () => {
+			const folder = this.refs.window.refs.browser.folder;
+			if (folder) {
+				return `${CONFIG.url}/i/drive/folder/${folder.id}`;
+			} else {
+				return `${CONFIG.url}/i/drive`;
+			}
+		};
+
 		this.on('mount', () => {
 			this.refs.window.on('closed', () => {
 				this.unmount();
diff --git a/src/web/app/desktop/tags/window.tag b/src/web/app/desktop/tags/window.tag
index d7b6326829..ef77b70536 100644
--- a/src/web/app/desktop/tags/window.tag
+++ b/src/web/app/desktop/tags/window.tag
@@ -268,8 +268,9 @@
 			const x = window.screenX + position.left;
 			const y = window.screenY + position.top;
 
-			window.open(this.popoutUrl,
-				this.popoutUrl,
+			const url = typeof this.popoutUrl == 'function' ? this.popoutUrl() : this.popoutUrl;
+
+			window.open(url, url,
 				`height=${height},width=${width},left=${x},top=${y}`);
 
 			this.close();