diff --git a/cura/SingleInstance.py b/cura/SingleInstance.py
index 61ab1204fe..2c3e816767 100644
--- a/cura/SingleInstance.py
+++ b/cura/SingleInstance.py
@@ -92,7 +92,11 @@ class SingleInstance:
# Command: Load a model or project file
elif command == "open":
- self._application.callLater(lambda f = payload["filePath"]: self._application._openFile(f))
+ if payload["filePath"].file():
+ self._application.callLater(lambda f = payload["filePath"]: self._application._openFile(f))
+ if payload["filePath"].url():
+ self._application.callLater(lambda f= payload["filepath"]: self._application._openUrl(f))
+
# Command: Activate the window and bring it to the top.
elif command == "focus":
diff --git a/packaging/NSIS/Ultimaker-Cura.nsi.jinja b/packaging/NSIS/Ultimaker-Cura.nsi.jinja
index 0a2ce0f517..2106c47312 100644
--- a/packaging/NSIS/Ultimaker-Cura.nsi.jinja
+++ b/packaging/NSIS/Ultimaker-Cura.nsi.jinja
@@ -156,7 +156,7 @@ WriteRegStr HKCR "slicer" "" "URL:slicer"
WriteRegStr HKCR "slicer" "URL Protocol" ""
WriteRegStr HKCR "slicer\DefaultIcon" "" "$INSTDIR\${MAIN_APP_EXE},1"
WriteRegStr HKCR "slicer\shell" "" "open"
-WriteRegStr HKCR "slicer\shell\open\command" "" '"$INSTDIR\${MAIN_APP_EXE}" "%1"'
+WriteRegStr HKCR "slicer\shell\open\command" "" '"$INSTDIR\${MAIN_APP_EXE}" --single-instance "%1"'
SectionEnd
######################################################################
diff --git a/packaging/msi/UltiMaker-Cura.wxs.jinja b/packaging/msi/UltiMaker-Cura.wxs.jinja
index 21f017c813..13c5d2842e 100644
--- a/packaging/msi/UltiMaker-Cura.wxs.jinja
+++ b/packaging/msi/UltiMaker-Cura.wxs.jinja
@@ -165,7 +165,7 @@
-
+