diff --git a/fuzztest/fuzztest.h b/fuzztest/fuzztest.h
index 8f50528..a6be614 100644
--- a/fuzztest/fuzztest.h
+++ b/fuzztest/fuzztest.h
@@ -20,6 +20,8 @@
 #include <tuple>
 #include <vector>
 
+#if !defined(__APPLE__) && !defined(_MSC_VER) && !defined(DISABLE_FUZZTEST)
+
 #include "./fuzztest/domain.h"
 #include "./fuzztest/internal/registry.h"
 
@@ -123,18 +125,36 @@
 
 }  // namespace fuzztest
 
-// Temporarily disable fuzz tests under MSVC/iOS/MacOS.
+#else  // !defined(__APPLE__) && !defined(_MSC_VER) &&
+       // !defined(DISABLE_FUZZTEST)
+
+namespace fuzztest {
+namespace internal {
+
+// For those platforms we don't support yet.
+struct RegisterStub {
+  template <typename... T>
+  RegisterStub WithDomains(T&&...) {
+    return *this;
+  }
+};
+
+}  // namespace internal
+}  // namespace fuzztest
+
+// Temporarily disable fuzz tests under MSVC/iOS/MacOS, and in any other
+// cases where DISABLE_FUZZTEST has been specified.
 // They might not support all the C++17 features we are using right now.
 // Disables all registration and disables running the domain expressions by
 // using a ternary expression. The tail code (eg .WithDomains(...)) will not be
 // executed.
-#if defined(__APPLE__) || defined(_MSC_VER)
 #undef FUZZ_TEST
 #define FUZZ_TEST(suite_name, func)                          \
   [[maybe_unused]] static ::fuzztest::internal::RegisterStub \
       fuzztest_reg_##suite_name##func =                      \
           true ? ::fuzztest::internal::RegisterStub()        \
                : ::fuzztest::internal::RegisterStub()
-#endif  // defined(__APPLE__) || defined(_MSC_VER)
+#endif  // !defined(__APPLE__) && !defined(_MSC_VER) &&
+        // !defined(DISABLE_FUZZTEST)
 
 #endif  // FUZZTEST_FUZZTEST_FUZZTEST_H_
diff --git a/fuzztest/internal/registry.h b/fuzztest/internal/registry.h
index 541c08f..a90e01c 100644
--- a/fuzztest/internal/registry.h
+++ b/fuzztest/internal/registry.h
@@ -92,14 +92,6 @@
   }
 };
 
-// For those platforms we don't support yet.
-struct RegisterStub {
-  template <typename... T>
-  RegisterStub WithDomains(T&&...) {
-    return *this;
-  }
-};
-
 #define INTERNAL_FUZZ_TEST(suite_name, func)                         \
   [[maybe_unused]] static ::fuzztest::internal::RegistrationToken    \
       fuzztest_reg_##suite_name##func =                              \
