diff --git a/src/uifc/filepick.c b/src/uifc/filepick.c
index a2e63eece4fd46246c7a28b5d1878f9fd5198498..f9cc52d2de69f82d3a67c6d281bfc133d82c205c 100644
--- a/src/uifc/filepick.c
+++ b/src/uifc/filepick.c
@@ -316,6 +316,7 @@ int filepick(uifcapi_t *api, char *title, struct file_pick *fp, char *dir, char
 	int		finished=FALSE;
 	int		retval=0;
 	int		fieldmove;
+	int		oldhu=hold_update;
 
 	height=api->scrn_len-3;
 	width=SCRN_RIGHT-SCRN_LEFT-3;
@@ -639,6 +640,7 @@ int filepick(uifcapi_t *api, char *title, struct file_pick *fp, char *dir, char
 	}
 
 cleanup:		/* Cleans up allocated variables returns from function */
+	hold_update=oldhu;
 	FREE_AND_NULL(lastpath);
 	FREE_AND_NULL(tmppath);
 	FREE_AND_NULL(tmplastpath);