diff --git a/rts/posix/Select.c b/rts/posix/Select.c
index fb6e0337b6afb67af32ca99f45e09af8ea24f8c7..26da034f0253e3be7b6c4e409c8a853d348cf71f 100644
--- a/rts/posix/Select.c
+++ b/rts/posix/Select.c
@@ -36,7 +36,7 @@
 
 #include "Clock.h"
 
-#if !defined(THREADED_RTS)
+#if defined(IOMGR_ENABLED_SELECT)
 
 // The target time for a threadDelay is stored in a one-word quantity
 // in the TSO (tso->block_info.target).  On a 32-bit machine we
@@ -463,4 +463,4 @@ awaitCompletedTimeoutsOrIOSelect(Capability *cap, bool wait)
                   && emptyRunQueue(cap));
 }
 
-#endif /* THREADED_RTS */
+#endif /* IOMGR_ENABLED_SELECT */
diff --git a/rts/posix/Select.h b/rts/posix/Select.h
index 498fddb4e09cd4fe3af437a0337ce3df1b3b72cc..9c7cf539b014d8d3367de2127393bfcd5d902591 100644
--- a/rts/posix/Select.h
+++ b/rts/posix/Select.h
@@ -8,10 +8,14 @@
 
 #pragma once
 
+#include "BeginPrivate.h"
+
 // An absolute time value in units of 10ms.
 typedef StgWord LowResTime;
 
-RTS_PRIVATE LowResTime getDelayTarget (HsInt us);
+LowResTime getDelayTarget (HsInt us);
 
 void awaitCompletedTimeoutsOrIOSelect(Capability *cap, bool wait);
 
+#include "EndPrivate.h"
+