diff --git a/cmdutils.c b/cmdutils.c
index 450ae3224fa7e6f276736addf81063c269b2fe95..24a8db2f1bd334ec2c46a0c93131f42790bc9918 100644
--- a/cmdutils.c
+++ b/cmdutils.c
@@ -264,7 +264,7 @@ int opt_loglevel(const char *opt, const char *arg)
 
 int opt_timelimit(const char *opt, const char *arg)
 {
-#if HAVE_SYS_RESOURCE_H
+#if HAVE_SETRLIMIT
     int lim = parse_number_or_die(opt, arg, OPT_INT64, 0, INT_MAX);
     struct rlimit rl = { lim, lim + 1 };
     if (setrlimit(RLIMIT_CPU, &rl))
diff --git a/configure b/configure
index 548c16ad66b988ddb25140447ae16611e6156a31..732a8d057dc457a579286e2aace50133779c3aed 100755
--- a/configure
+++ b/configure
@@ -1043,6 +1043,7 @@ HAVE_LIST="
     socklen_t
     soundcard_h
     poll_h
+    setrlimit
     struct_addrinfo
     struct_ipv6_mreq
     struct_sockaddr_in6
@@ -2460,6 +2461,7 @@ check_func  isatty
 check_func  ${malloc_prefix}memalign            && enable memalign
 check_func  mkstemp
 check_func  ${malloc_prefix}posix_memalign      && enable posix_memalign
+check_func  setrlimit
 check_func_headers io.h setmode
 check_func_headers lzo/lzo1x.h lzo1x_999_compress
 check_func_headers windows.h GetProcessTimes