--- spell-1.0.orig/spell.c
+++ spell-1.0/spell.c
@@ -279,9 +279,23 @@
    by `str_make'), or find it in the `PATH' environmental variable,
    or exit with an error if it is not found.  */
 
+static char *
+find_file_in_path (char * program) ;
+
 char *
 find_ispell ()
 {
+  char * ret;
+  if (NULL != (ret = find_file_in_path("ispell")))
+    return ret;
+  if (NULL != (ret = find_file_in_path("aspell")))
+    return ret;
+  error (EXIT_FAILURE, 0, "unable to locate Ispell/Aspell");
+}
+
+static char *
+find_file_in_path (char * program)
+{
   char *ispell = NULL;
   char *path = NULL;
   int path_len = 0;
@@ -306,13 +320,13 @@
 
       if (file->str[file->len - 1] != '/')
 	str_add_char (file, '/');
-      str_add_str (file, nstr_to_str ("ispell"));
+      str_add_str (file, nstr_to_str (program));
 
       if (stat (str_to_nstr (file), &stat_buf) != -1)
 	return xstrdup (str_to_nstr (file));
 
       if (pos >= path_len)
-	error (EXIT_FAILURE, 0, "unable to locate Ispell");
+	return NULL;
       pos++;
     }
 
