diff -pruN2 mutt-1.3.27.orig/signature.c mutt-1.3.27/signature.c
--- mutt-1.3.27.orig/signature.c Thu Jan 1 01:00:00 1970
+++ mutt-1.3.27/signature.c Wed Jan 23 22:35:32 2002
-@@ -0,0 +1,499 @@
+@@ -0,0 +1,505 @@
+/*
+ * Copyright (C) 2001 Cedric Duval <cedricduval@free.fr>
+ *
+ char buf[STRING];
+ SIG_LIST *result = NULL;
+ int i;
++ char* searchBuf = menu->menu >= 0 && menu->menu < MENU_MAX ?
++ SearchBuffers[menu->menu] : NULL;
+
-+ snprintf (buf, sizeof(buf), menu->searchBuf ? menu->searchBuf : "");
++ snprintf (buf, sizeof(buf), searchBuf ? searchBuf : "");
+ if (mutt_get_field (_("Search for: "), buf,
+ sizeof (buf), M_CLEAR) != 0 || !buf[0])
+ return (NULL);
-+ mutt_str_replace (&menu->searchBuf, buf);
++ if (menu->menu >= 0 && menu->menu < MENU_MAX)
++ {
++ mutt_str_replace (&SearchBuffers[menu->menu], buf);
++ searchBuf = SearchBuffers[menu->menu];
++ }
+
-+ if ((i = regcomp (&re, menu->searchBuf, REG_NOSUB | REG_EXTENDED | REG_WORDS
-+ | mutt_which_case (menu->searchBuf))) != 0)
++ if ((i = regcomp (&re, searchBuf, REG_NOSUB | REG_EXTENDED | REG_WORDS
++ | mutt_which_case (searchBuf))) != 0)
+ {
+ regerror (i, &re, buf, sizeof (buf));
+ regfree (&re);