merge 3.3 (#17625)
diff --git a/Lib/idlelib/ReplaceDialog.py b/Lib/idlelib/ReplaceDialog.py
index e5a1371..e73f2c5 100644
--- a/Lib/idlelib/ReplaceDialog.py
+++ b/Lib/idlelib/ReplaceDialog.py
@@ -123,6 +123,7 @@
         text.undo_block_stop()
         if first and last:
             self.show_hit(first, last)
+        self.close()
 
     def do_find(self, ok=0):
         if not self.engine.getprog():
diff --git a/Misc/NEWS b/Misc/NEWS
index d1a56a6..d72e8bb 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -27,6 +27,8 @@
 
 - Use the HTTPS PyPI url for upload, overriding any plain HTTP URL in pypirc.
 
+- Issue #17625: In IDLE, close the replace dialog after it is used.
+
 - Issue #16795: On the ast.arguments object, unify vararg with varargannotation
   and kwarg and kwargannotation. Change the column offset of ast.Attribute to be
   at the attribute name.