diff --git a/electron_app/src/electron-main.js b/electron_app/src/electron-main.js
index 85955392aa..986cc7070f 100644
--- a/electron_app/src/electron-main.js
+++ b/electron_app/src/electron-main.js
@@ -100,24 +100,12 @@ ipcMain.on('app_onAction', function(ev, payload) {
 
 app.commandLine.appendSwitch('--enable-usermedia-screen-capturing');
 
-const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {
-    // If other instance launched with --hidden then skip showing window
-    if (commandLine.includes('--hidden')) return;
-
-    // Someone tried to run a second instance, we should focus our window.
-    if (mainWindow) {
-        if (!mainWindow.isVisible()) mainWindow.show();
-        if (mainWindow.isMinimized()) mainWindow.restore();
-        mainWindow.focus();
-    }
-});
-
-if (shouldQuit) {
+const gotLock = app.requestSingleInstanceLock();
+if (!gotLock) {
     console.log('Other instance detected: exiting');
     app.exit();
 }
 
-
 const launcher = new AutoLaunch({
     name: vectorConfig.brand || 'Riot',
     isHidden: true,
@@ -268,6 +256,18 @@ app.on('before-quit', () => {
     }
 });
 
+app.on('second-instance', (ev, commandLine, workingDirectory) => {
+    // If other instance launched with --hidden then skip showing window
+    if (commandLine.includes('--hidden')) return;
+
+    // Someone tried to run a second instance, we should focus our window.
+    if (mainWindow) {
+        if (!mainWindow.isVisible()) mainWindow.show();
+        if (mainWindow.isMinimized()) mainWindow.restore();
+        mainWindow.focus();
+    }
+});
+
 // Set the App User Model ID to match what the squirrel
 // installer uses for the shortcut icon.
 // This makes notifications work on windows 8.1 (and is