diff --git a/src/components/DesktopComponent.js b/src/components/DesktopComponent.js
index <HASH>..<HASH> 100644
--- a/src/components/DesktopComponent.js
+++ b/src/components/DesktopComponent.js
@@ -76,6 +76,12 @@ class DesktopComponent {
       // if it can have multiple ex. VerticalBox
       this.element.deleteAt(this.children.indexOf(child));
       child.element.destroy();
+    } else if (this.exists(child.element.close)) {
+      // we have a window that we want to close
+      if (!child.closing) {
+        // we are already closing, so we don't want to do it again
+        child.element.close();
+      }
     }
     const index = this.children.indexOf(child);
     this.children.splice(index, 1);
diff --git a/src/components/Window.js b/src/components/Window.js
index <HASH>..<HASH> 100644
--- a/src/components/Window.js
+++ b/src/components/Window.js
@@ -56,6 +56,7 @@ class Window extends DesktopComponent {
         this.props.menuBar
       );
       this.element.onClosing(() => {
+        this.closing = true;
         this.props.onClose();
         this.element.close();
         if (this.props.lastWindow) {
Add support for deleting window. Fixes #<I>