diff --git a/src/pd.tk b/src/pd.tk
index 2c88b0f7de103764fc996dc1a58c4ea069ffd9de..1cd202b64feae5caea40369b752798d51b95a928 100644
--- a/src/pd.tk
+++ b/src/pd.tk
@@ -1572,10 +1572,13 @@ proc menu_close {name} {
 	if {$name == ".texteditor.text"} { 
 		set topname [string trimright $name .text]
 		texteditor_send $name
-		destroy $topname   
+		destroy $topname
+		focus . 
 	} else {
+		set parent [menu_windowparent $name]
 		pdtk_canvas_checkgeometry $name
     	pd [concat $name menuclose 0 \;]
+		focus $parent
 	}
 }