diff --git a/HISTORY.md b/HISTORY.md
index 62ad403a..37bdc8af 100755
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -70,6 +70,7 @@
### 2019-04-10
* Objects: took out MAP and FOREACH primitives (available in dev mode)
* Objects: fixed #2371 (playing sounds in the stage)
+* GUI: fixed #2367 (changing project source after exporting to disk)
### 2019-04-09
* Blocks, Objects, Threads: new "getImageAttribute" reporter primitive
diff --git a/snap.html b/snap.html
index 2697d471..cde6de1e 100755
--- a/snap.html
+++ b/snap.html
@@ -9,7 +9,7 @@
-
+
diff --git a/src/gui.js b/src/gui.js
index 46d37825..1760300a 100644
--- a/src/gui.js
+++ b/src/gui.js
@@ -75,7 +75,7 @@ isRetinaSupported, SliderMorph, Animation, BoxMorph, MediaRecorder*/
// Global stuff ////////////////////////////////////////////////////////
-modules.gui = '2019-March-25';
+modules.gui = '2019-April-10';
// Declarations
@@ -6045,10 +6045,19 @@ ProjectDialogMorph.prototype.init = function (ide, task) {
this.key = 'project' + task;
// build contents
- this.buildContents();
- this.onNextStep = function () { // yield to show "updating" message
- myself.setSource(myself.source);
- };
+ if (task === 'open' && this.source === 'disk') {
+ // give the user a chance to switch to another source
+ this.source = null;
+ this.buildContents();
+ this.projectList = [];
+ this.listField.hide();
+ this.source = 'disk';
+ } else {
+ this.buildContents();
+ this.onNextStep = function () { // yield to show "updating" message
+ myself.setSource(myself.source);
+ };
+ }
};
ProjectDialogMorph.prototype.buildContents = function () {