diff -u ncurses-hexedit-0.9.7/debian/changelog ncurses-hexedit-0.9.7/debian/changelog
--- ncurses-hexedit-0.9.7/debian/changelog
+++ ncurses-hexedit-0.9.7/debian/changelog
@@ -1,3 +1,12 @@
+ncurses-hexedit (0.9.7-14.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix segflault when searching for text that isn't in the file being viewed
+    (closes: #536736)
+    - Patch thanks to Steven Burke.
+
+ -- Michael Gilbert <mgilbert@debian.org>  Tue, 30 Oct 2012 21:03:18 +0000
+
 ncurses-hexedit (0.9.7-14) unstable; urgency=low
 
   * New Maintainer. (Closes: #419075)
diff -u ncurses-hexedit-0.9.7/src/windows.c ncurses-hexedit-0.9.7/src/windows.c
--- ncurses-hexedit-0.9.7/src/windows.c
+++ ncurses-hexedit-0.9.7/src/windows.c
@@ -692,20 +692,21 @@
             spot = boyer_moore_search (retr->str, offset + 1,
                                  last_str_len = retr->len,
                                  Globals.filesize - offset);
+         if (laststr)
+            free (laststr);
+         laststr = malloc (retr->len + 1);
+         memset (laststr, 0x00, retr->len + 1);
+         memcpy (laststr, retr->str, retr->len);
+         free (retr->str);
+         retr->str = NULL;
+         retr->len = 0;
+
          if (spot && spot->flag)
          {
             offset += spot->offset + 1; /* started search one character
                                           ahead of offset */
             cursor_y = 1;
             cursor_x = mappos (offset & M_0x0F);
-            if (laststr)
-               free (laststr);
-            laststr = malloc (retr->len + 1);
-            memset (laststr, 0x00, retr->len + 1);
-            memcpy (laststr, retr->str, retr->len);
-            free (retr->str);
-            retr->str = NULL;
-            retr->len = 0;
          }
          else
          {
