diff --git a/Misc/NEWS b/Misc/NEWS
index 624c465..6ed2c2c 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -383,6 +383,9 @@
 Extension Modules
 -----------------
 
+- Issue #9450: Fix memory leak in readline.replace_history_item and
+  readline.remove_history_item for readline version >= 5.0.
+
 - Issue #8105: Validate file descriptor passed to mmap.mmap on Windows.
 
 - Issue #9422: Fix memory leak when re-initializing a struct.Struct object.
diff --git a/Modules/readline.c b/Modules/readline.c
index e4a1d55..e187129 100644
--- a/Modules/readline.c
+++ b/Modules/readline.c
@@ -334,6 +334,38 @@
 "set_completer_delims(string) -> None\n\
 set the readline word delimiters for tab-completion");
 
+/* _py_free_history_entry: Utility function to free a history entry. */
+
+#if defined(RL_READLINE_VERSION) && RL_READLINE_VERSION >= 0x0500
+
+/* Readline version >= 5.0 introduced a timestamp field into the history entry
+   structure; this needs to be freed to avoid a memory leak.  This version of
+   readline also introduced the handy 'free_history_entry' function, which
+   takes care of the timestamp. */
+
+static void
+_py_free_history_entry(HIST_ENTRY *entry)
+{
+    histdata_t data = free_history_entry(entry);
+    free(data);
+}
+
+#else
+
+/* No free_history_entry function;  free everything manually. */
+
+static void
+_py_free_history_entry(HIST_ENTRY *entry)
+{
+    if (entry->line)
+        free((void *)entry->line);
+    if (entry->data)
+        free(entry->data);
+    free(entry);
+}
+
+#endif
+
 static PyObject *
 py_remove_history(PyObject *self, PyObject *args)
 {
@@ -355,12 +387,7 @@
         return NULL;
     }
     /* free memory allocated for the history entry */
-    if (entry->line)
-        free(entry->line);
-    if (entry->data)
-        free(entry->data);
-    free(entry);
-
+    _py_free_history_entry(entry);
     Py_RETURN_NONE;
 }
 
@@ -392,12 +419,7 @@
         return NULL;
     }
     /* free memory allocated for the old history entry */
-    if (old_entry->line)
-        free(old_entry->line);
-    if (old_entry->data)
-        free(old_entry->data);
-    free(old_entry);
-
+    _py_free_history_entry(old_entry);
     Py_RETURN_NONE;
 }
 
