diff --git a/tests/hghave.py b/tests/hghave.py
index 3a3731a6035495bd8e856708494dc163d99a9d37_dGVzdHMvaGdoYXZlLnB5..e457321a568799525ac9d50a090bcc9e725f3558_dGVzdHMvaGdoYXZlLnB5 100755
--- a/tests/hghave.py
+++ b/tests/hghave.py
@@ -272,7 +272,12 @@
     return os.name != 'nt' # gross approximation
 
 def has_tic():
-    return matchoutput('test -x "`which tic`"', '')
+    try:
+        import curses
+        curses.COLOR_BLUE
+        return matchoutput('test -x "`which tic`"', '')
+    except ImportError:
+        return False
 
 def has_msys():
     return os.getenv('MSYSTEM')
@@ -324,7 +329,7 @@
     "svn-bindings": (has_svn_bindings, "subversion python bindings"),
     "symlink": (has_symlink, "symbolic links"),
     "system-sh": (has_system_sh, "system() uses sh"),
-    "tic": (has_tic, "terminfo compiler"),
+    "tic": (has_tic, "terminfo compiler and curses module"),
     "tla": (has_tla, "GNU Arch tla client"),
     "unix-permissions": (has_unix_permissions, "unix-style permissions"),
     "windows": (has_windows, "Windows"),