diff --git a/tests/hghave.py b/tests/hghave.py
index 9c35267f01e0626aa7a3bf32b6950dd7fd97ac48_dGVzdHMvaGdoYXZlLnB5..e5e6282fa66a2fba27b74c67996ff4900c5ea811_dGVzdHMvaGdoYXZlLnB5 100644
--- a/tests/hghave.py
+++ b/tests/hghave.py
@@ -702,8 +702,8 @@
     return os.path.isdir(os.path.join(t, "..", ".hg"))
 
 
-@check("tic", "terminfo compiler and curses module")
-def has_tic():
+@check("curses", "terminfo compiler and curses module")
+def has_curses():
     try:
         import curses
 
@@ -714,8 +714,9 @@
         if os.name == 'nt':
             return True
 
-        return matchoutput('test -x "`which tic`"', br'')
+        return has_tic()
+
     except (ImportError, AttributeError):
         return False
 
 
@@ -718,7 +719,12 @@
     except (ImportError, AttributeError):
         return False
 
 
+@check("tic", "terminfo compiler")
+def has_tic():
+    return matchoutput('test -x "`which tic`"', br'')
+
+
 @check("xz", "xz compression utility")
 def has_xz():
     # When Windows invokes a subprocess in shell mode, it uses `cmd.exe`, which
diff --git a/tests/test-commit-interactive-curses.t b/tests/test-commit-interactive-curses.t
index 9c35267f01e0626aa7a3bf32b6950dd7fd97ac48_dGVzdHMvdGVzdC1jb21taXQtaW50ZXJhY3RpdmUtY3Vyc2VzLnQ=..e5e6282fa66a2fba27b74c67996ff4900c5ea811_dGVzdHMvdGVzdC1jb21taXQtaW50ZXJhY3RpdmUtY3Vyc2VzLnQ= 100644
--- a/tests/test-commit-interactive-curses.t
+++ b/tests/test-commit-interactive-curses.t
@@ -1,4 +1,4 @@
-#require tic
+#require curses
 
 Set up a repo
 
diff --git a/tests/test-revert-interactive-curses.t b/tests/test-revert-interactive-curses.t
index 9c35267f01e0626aa7a3bf32b6950dd7fd97ac48_dGVzdHMvdGVzdC1yZXZlcnQtaW50ZXJhY3RpdmUtY3Vyc2VzLnQ=..e5e6282fa66a2fba27b74c67996ff4900c5ea811_dGVzdHMvdGVzdC1yZXZlcnQtaW50ZXJhY3RpdmUtY3Vyc2VzLnQ= 100644
--- a/tests/test-revert-interactive-curses.t
+++ b/tests/test-revert-interactive-curses.t
@@ -1,4 +1,4 @@
-#require tic
+#require curses
 
 Revert interactive tests with the Curses interface