diff --git a/libc/bionic/time.cpp b/libc/bionic/time.cpp
index 3a41027..800395e 100644
--- a/libc/bionic/time.cpp
+++ b/libc/bionic/time.cpp
@@ -28,27 +28,10 @@
 
 #include <time.h>
 
-static clockid_t __base_to_clock(int base) {
-  switch (base) {
-    case TIME_UTC:
-      return CLOCK_REALTIME;
-    case TIME_MONOTONIC:
-      return CLOCK_MONOTONIC;
-    case TIME_ACTIVE:
-      return CLOCK_PROCESS_CPUTIME_ID;
-    case TIME_THREAD_ACTIVE:
-      return CLOCK_THREAD_CPUTIME_ID;
-    default:
-      return -1;
-  }
-}
-
 int timespec_get(timespec* ts, int base) {
-  clockid_t clock = __base_to_clock(base);
-  return (clock != -1 && clock_gettime(clock, ts) != -1) ? base : 0;
+  return (clock_gettime(base - 1, ts) != -1) ? base : 0;
 }
 
 int timespec_getres(timespec* ts, int base) {
-  clockid_t clock = __base_to_clock(base);
-  return (clock != -1 && clock_getres(clock, ts) != -1) ? base : 0;
+  return (clock_getres(base - 1, ts) != -1) ? base : 0;
 }
diff --git a/libc/include/time.h b/libc/include/time.h
index 2d2de9f..1c3ae4b 100644
--- a/libc/include/time.h
+++ b/libc/include/time.h
@@ -109,28 +109,28 @@
  *
  * Available since API level 29.
  */
-#define TIME_UTC 1
+#define TIME_UTC (CLOCK_REALTIME+1)
 
 /**
  * The timebase for timespec_get() and timespec_getres() corresponding to CLOCK_MONOTONIC.
  *
  * Available since API level 35.
  */
-#define TIME_MONOTONIC 2
+#define TIME_MONOTONIC (CLOCK_MONOTONIC+1)
 
 /**
  * The timebase for timespec_get() and timespec_getres() corresponding to CLOCK_PROCESS_CPUTIME_ID.
  *
  * Available since API level 35.
  */
-#define TIME_ACTIVE 3
+#define TIME_ACTIVE (CLOCK_PROCESS_CPUTIME_ID+1)
 
 /**
  * The timebase for timespec_get() and timespec_getres() corresponding to CLOCK_THREAD_CPUTIME_ID.
  *
  * Available since API level 35.
  */
-#define TIME_THREAD_ACTIVE 4
+#define TIME_THREAD_ACTIVE (CLOCK_THREAD_CPUTIME_ID+1)
 
 /**
  * timespec_get(3) is equivalent to clock_gettime() for the clock corresponding to the given base.
diff --git a/tests/time_test.cpp b/tests/time_test.cpp
index 483315d..d16600c 100644
--- a/tests/time_test.cpp
+++ b/tests/time_test.cpp
@@ -1281,7 +1281,7 @@
 TEST(time, timespec_get_invalid) {
 #if __BIONIC__
   timespec ts = {};
-  ASSERT_EQ(0, timespec_get(&ts, -1));
+  ASSERT_EQ(0, timespec_get(&ts, 123));
 #else
   GTEST_SKIP() << "glibc doesn't have timespec_get until 2.21";
 #endif
