diff --git a/editline/term.c b/editline/term.c
index 60b30245faa8b6f76dc6dd50e7cdf75b5c70e437..fb627cabb72956edfbb1f28ba37dc144751f8494 100644
--- a/editline/term.c
+++ b/editline/term.c
@@ -64,10 +64,16 @@ __RCSID("$NetBSD: term.c,v 1.35 2002/03/18 16:00:59 christos Exp $");
 #ifdef HAVE_NCURSES_H
 #include <ncurses.h>
 #endif
-/* Solaris's term.h does horrid things. */
-#if (defined(HAVE_TERM_H) && !defined(SUNOS))
-#include <term.h>
-#endif
+#if defined(HAVE_TERM_H)
+#include "term.h"
+/* Can not use /usr/include/term.h because of a lot of incompatibilities, so just define some prototypes */
+extern int tgetent(char *, const char *);
+extern int tgetflag(const char *);
+extern int tgetnum(const char *);
+extern char *tgetstr(const char *, char **);
+extern int tputs (const char *, int, int (*)(int));
+extern char *tgoto (const char *, int, int);
+#endif /* defined(HAVE_TERM_H) */
 #include <sys/types.h>
 #include <sys/ioctl.h>
 
@@ -1190,15 +1196,15 @@ term_bind_arrow(EditLine *el)
 		if (p && *p) {
 			j = (unsigned char) *p;
 			/*
-		         * Assign the arrow keys only if:
-		         *
-		         * 1. They are multi-character arrow keys and the user
-		         *    has not re-assigned the leading character, or
-		         *    has re-assigned the leading character to be
-		         *	  ED_SEQUENCE_LEAD_IN
-		         * 2. They are single arrow keys pointing to an
+			 * Assign the arrow keys only if:
+			 *
+			 * 1. They are multi-character arrow keys and the user
+			 *    has not re-assigned the leading character, or
+			 *    has re-assigned the leading character to be
+			 *	  ED_SEQUENCE_LEAD_IN
+			 * 2. They are single arrow keys pointing to an
 			 *    unassigned key.
-		         */
+			 */
 			if (arrow[i].type == XK_NOD)
 				key_clear(el, map, p);
 			else {