diff --git a/media/BUILD.gn b/media/BUILD.gn
index af59b59..eedf96f 100644
--- a/media/BUILD.gn
+++ b/media/BUILD.gn
@@ -392,59 +392,73 @@
   ]
 }
 
-rtc_library("rtc_data") {
-  defines = [
-    # "SCTP_DEBUG" # Uncomment for SCTP debugging.
-  ]
+rtc_source_set("rtc_data_sctp_transport_internal") {
+  sources = [ "sctp/sctp_transport_internal.h" ]
   deps = [
-    ":rtc_media_base",
-    "../api:call_api",
-    "../api:sequence_checker",
-    "../api:transport_api",
+    "../media:rtc_media_base",
     "../p2p:rtc_p2p",
-    "../rtc_base",
     "../rtc_base:rtc_base_approved",
     "../rtc_base:threading",
-    "../rtc_base/synchronization:mutex",
-    "../rtc_base/task_utils:pending_task_safety_flag",
-    "../rtc_base/task_utils:to_queued_task",
     "../rtc_base/third_party/sigslot",
-    "../system_wrappers",
   ]
-  absl_deps = [
-    "//third_party/abseil-cpp/absl/algorithm:container",
-    "//third_party/abseil-cpp/absl/base:core_headers",
-    "//third_party/abseil-cpp/absl/types:optional",
-  ]
+}
 
-  if (rtc_enable_sctp) {
+if (rtc_build_usrsctp) {
+  rtc_library("rtc_data_usrsctp_transport") {
+    defines = [
+      # "SCTP_DEBUG" # Uncomment for SCTP debugging.
+    ]
     sources = [
-      "sctp/sctp_transport_factory.cc",
-      "sctp/sctp_transport_factory.h",
-      "sctp/sctp_transport_internal.h",
       "sctp/usrsctp_transport.cc",
       "sctp/usrsctp_transport.h",
     ]
-  } else {
-    # libtool on mac does not like empty targets.
-    sources = [ "sctp/noop.cc" ]
-  }
-
-  if (rtc_enable_sctp && rtc_build_usrsctp) {
-    deps += [
-      "../api/transport:sctp_transport_factory_interface",
+    deps = [
+      ":rtc_data_sctp_transport_internal",
+      "../media:rtc_media_base",
+      "../p2p:rtc_p2p",
+      "../rtc_base",
+      "../rtc_base:rtc_base_approved",
+      "../rtc_base:threading",
+      "../rtc_base/synchronization:mutex",
+      "../rtc_base/task_utils:pending_task_safety_flag",
+      "../rtc_base/task_utils:to_queued_task",
+      "../rtc_base/third_party/sigslot:sigslot",
       "//third_party/usrsctp",
     ]
+    absl_deps = [
+      "//third_party/abseil-cpp/absl/algorithm:container",
+      "//third_party/abseil-cpp/absl/types:optional",
+    ]
+  }
+}
+
+rtc_library("rtc_data_sctp_transport_factory") {
+  defines = []
+  sources = [
+    "sctp/sctp_transport_factory.cc",
+    "sctp/sctp_transport_factory.h",
+  ]
+  deps = [
+    ":rtc_data_sctp_transport_internal",
+    "../api/transport:sctp_transport_factory_interface",
+    "../rtc_base:threading",
+    "../rtc_base/system:unused",
+  ]
+
+  if (rtc_enable_sctp) {
+    assert(rtc_build_usrsctp, "An SCTP backend is required to enable SCTP")
+  }
+
+  if (rtc_build_usrsctp) {
+    defines += [ "WEBRTC_HAVE_USRSCTP" ]
+    deps += [ ":rtc_data_usrsctp_transport" ]
   }
 }
 
 rtc_source_set("rtc_media") {
   visibility = [ "*" ]
   allow_poison = [ "audio_codecs" ]  # TODO(bugs.webrtc.org/8396): Remove.
-  deps = [
-    ":rtc_audio_video",
-    ":rtc_data",
-  ]
+  deps = [ ":rtc_audio_video" ]
 }
 
 if (rtc_include_tests) {
@@ -537,7 +551,6 @@
       defines = []
       deps = [
         ":rtc_audio_video",
-        ":rtc_data",
         ":rtc_encoder_simulcast_proxy",
         ":rtc_internal_video_codecs",
         ":rtc_media",
@@ -641,15 +654,18 @@
         sources += [ "engine/webrtc_voice_engine_unittest.cc" ]
       }
 
-      if (rtc_enable_sctp) {
+      if (rtc_build_usrsctp) {
         sources += [
           "sctp/usrsctp_transport_reliability_unittest.cc",
           "sctp/usrsctp_transport_unittest.cc",
         ]
         deps += [
+          ":rtc_data_sctp_transport_internal",
+          ":rtc_data_usrsctp_transport",
           "../rtc_base:rtc_event",
           "../rtc_base/task_utils:pending_task_safety_flag",
           "../rtc_base/task_utils:to_queued_task",
+          "//third_party/usrsctp",
         ]
       }
 
@@ -669,10 +685,6 @@
       if (is_ios) {
         deps += [ ":rtc_media_unittests_bundle_data" ]
       }
-
-      if (rtc_enable_sctp && rtc_build_usrsctp) {
-        deps += [ "//third_party/usrsctp" ]
-      }
     }
   }
 }
diff --git a/media/sctp/noop.cc b/media/sctp/noop.cc
deleted file mode 100644
index a3523b1..0000000
--- a/media/sctp/noop.cc
+++ /dev/null
@@ -1,13 +0,0 @@
-/*
- *  Copyright 2017 The WebRTC Project Authors. All rights reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-// This file is only needed to make ninja happy on some platforms.
-// On some platforms it is not possible to link an rtc_static_library
-// without any source file listed in the GN target.
diff --git a/media/sctp/sctp_transport_factory.cc b/media/sctp/sctp_transport_factory.cc
index dd53d04..40480e7 100644
--- a/media/sctp/sctp_transport_factory.cc
+++ b/media/sctp/sctp_transport_factory.cc
@@ -10,16 +10,30 @@
 
 #include "media/sctp/sctp_transport_factory.h"
 
+#include "rtc_base/system/unused.h"
+
+#ifdef WEBRTC_HAVE_USRSCTP
+#include "media/sctp/usrsctp_transport.h"  // nogncheck
+#endif
+
 namespace cricket {
 
 SctpTransportFactory::SctpTransportFactory(rtc::Thread* network_thread)
-    : network_thread_(network_thread) {}
+    : network_thread_(network_thread) {
+  RTC_UNUSED(network_thread_);
+}
 
 std::unique_ptr<SctpTransportInternal>
 SctpTransportFactory::CreateSctpTransport(
     rtc::PacketTransportInternal* transport) {
-  return std::unique_ptr<SctpTransportInternal>(
-      new UsrsctpTransport(network_thread_, transport));
+  std::unique_ptr<SctpTransportInternal> result;
+#ifdef WEBRTC_HAVE_USRSCTP
+  if (!result) {
+    result = std::unique_ptr<SctpTransportInternal>(
+        new UsrsctpTransport(network_thread_, transport));
+  }
+#endif
+  return result;
 }
 
 }  // namespace cricket
diff --git a/media/sctp/sctp_transport_factory.h b/media/sctp/sctp_transport_factory.h
index 7fe4de0..4fff214 100644
--- a/media/sctp/sctp_transport_factory.h
+++ b/media/sctp/sctp_transport_factory.h
@@ -14,7 +14,7 @@
 #include <memory>
 
 #include "api/transport/sctp_transport_factory_interface.h"
-#include "media/sctp/usrsctp_transport.h"
+#include "media/sctp/sctp_transport_internal.h"
 #include "rtc_base/thread.h"
 
 namespace cricket {
diff --git a/media/sctp/usrsctp_transport.h b/media/sctp/usrsctp_transport.h
index 0241c2c..de018b9 100644
--- a/media/sctp/usrsctp_transport.h
+++ b/media/sctp/usrsctp_transport.h
@@ -21,7 +21,6 @@
 #include <vector>
 
 #include "absl/types/optional.h"
-#include "api/transport/sctp_transport_factory_interface.h"
 #include "rtc_base/buffer.h"
 #include "rtc_base/constructor_magic.h"
 #include "rtc_base/copy_on_write_buffer.h"
diff --git a/pc/BUILD.gn b/pc/BUILD.gn
index a61e04d..2b70f59 100644
--- a/pc/BUILD.gn
+++ b/pc/BUILD.gn
@@ -108,7 +108,7 @@
     "../common_video",
     "../common_video:common_video",
     "../logging:ice_log",
-    "../media:rtc_data",
+    "../media:rtc_data_sctp_transport_internal",
     "../media:rtc_h264_profile_id",
     "../media:rtc_media_base",
     "../media:rtc_media_config",
@@ -281,7 +281,7 @@
     "../call:call_interfaces",
     "../common_video",
     "../logging:ice_log",
-    "../media:rtc_data",
+    "../media:rtc_data_sctp_transport_internal",
     "../media:rtc_media_base",
     "../media:rtc_media_config",
     "../modules/audio_processing:audio_processing_statistics",
@@ -336,7 +336,7 @@
     "../api/transport:field_trial_based_config",
     "../api/transport:sctp_transport_factory_interface",
     "../api/transport:webrtc_key_value_config",
-    "../media:rtc_data",
+    "../media:rtc_data_sctp_transport_factory",
     "../media:rtc_media_base",
     "../p2p:rtc_p2p",
     "../rtc_base",
@@ -869,7 +869,7 @@
       "../api/video/test:mock_recordable_encoded_frame",
       "../call:rtp_interfaces",
       "../call:rtp_receiver",
-      "../media:rtc_data",
+      "../media:rtc_data_sctp_transport_internal",
       "../media:rtc_media_base",
       "../media:rtc_media_tests_utils",
       "../modules/rtp_rtcp:rtp_rtcp_format",
@@ -1011,10 +1011,6 @@
       "webrtc_sdp_unittest.cc",
     ]
 
-    if (rtc_enable_sctp) {
-      defines = [ "WEBRTC_HAVE_SCTP" ]
-    }
-
     deps = [
       ":audio_rtp_receiver",
       ":audio_track",
@@ -1065,6 +1061,7 @@
       "../api/video:video_rtp_headers",
       "../call/adaptation:resource_adaptation_test_utilities",
       "../logging:fake_rtc_event_log",
+      "../media:rtc_data_sctp_transport_internal",
       "../media:rtc_media_config",
       "../media:rtc_media_engine_defaults",
       "../modules/audio_device:audio_device_api",
@@ -1118,8 +1115,6 @@
       "../api/video_codecs:video_codecs_api",
       "../call:call_interfaces",
       "../media:rtc_audio_video",
-      "../media:rtc_data",  # TODO(phoglund): AFAIK only used for one sctp
-                            # constant.
       "../media:rtc_media_base",
       "../media:rtc_media_tests_utils",
       "../modules/audio_processing",
@@ -1328,7 +1323,6 @@
       "../api/video_codecs:builtin_video_encoder_factory",
       "../api/video_codecs:video_codecs_api",
       "../call:call_interfaces",
-      "../media:rtc_data",
       "../media:rtc_media",
       "../media:rtc_media_base",
       "../media:rtc_media_tests_utils",
diff --git a/pc/connection_context.h b/pc/connection_context.h
index 29ae99a..0c69c17 100644
--- a/pc/connection_context.h
+++ b/pc/connection_context.h
@@ -22,7 +22,6 @@
 #include "api/transport/sctp_transport_factory_interface.h"
 #include "api/transport/webrtc_key_value_config.h"
 #include "media/base/media_engine.h"
-#include "media/sctp/sctp_transport_internal.h"
 #include "p2p/base/basic_packet_socket_factory.h"
 #include "pc/channel_manager.h"
 #include "rtc_base/checks.h"
diff --git a/pc/peer_connection_factory.h b/pc/peer_connection_factory.h
index 71d7830..d2bac7a 100644
--- a/pc/peer_connection_factory.h
+++ b/pc/peer_connection_factory.h
@@ -37,7 +37,6 @@
 #include "api/transport/sctp_transport_factory_interface.h"
 #include "api/transport/webrtc_key_value_config.h"
 #include "call/call.h"
-#include "media/sctp/sctp_transport_internal.h"
 #include "p2p/base/port_allocator.h"
 #include "pc/channel_manager.h"
 #include "pc/connection_context.h"
diff --git a/sdk/android/BUILD.gn b/sdk/android/BUILD.gn
index 054cd36..b276870 100644
--- a/sdk/android/BUILD.gn
+++ b/sdk/android/BUILD.gn
@@ -777,7 +777,6 @@
       "../../api/video_codecs:video_codecs_api",
       "../../call:call_interfaces",
       "../../media:rtc_audio_video",
-      "../../media:rtc_data",
       "../../media:rtc_media_base",
       "../../modules/audio_device",
       "../../modules/audio_processing:api",
diff --git a/test/pc/sctp/BUILD.gn b/test/pc/sctp/BUILD.gn
index 93ae1bf..b47cff2 100644
--- a/test/pc/sctp/BUILD.gn
+++ b/test/pc/sctp/BUILD.gn
@@ -11,5 +11,5 @@
 rtc_source_set("fake_sctp_transport") {
   visibility = [ "*" ]
   sources = [ "fake_sctp_transport.h" ]
-  deps = [ "../../../media:rtc_data" ]
+  deps = [ "../../../media:rtc_data_sctp_transport_internal" ]
 }
diff --git a/webrtc.gni b/webrtc.gni
index 6c80d72..574df1f 100644
--- a/webrtc.gni
+++ b/webrtc.gni
@@ -233,7 +233,6 @@
   rtc_libvpx_build_vp9 = !build_with_mozilla
   rtc_build_opus = !build_with_mozilla
   rtc_build_ssl = !build_with_mozilla
-  rtc_build_usrsctp = !build_with_mozilla
 
   # Enable libevent task queues on platforms that support it.
   if (is_win || is_mac || is_ios || is_nacl || is_fuchsia ||
@@ -290,6 +289,11 @@
   rtc_exclude_transient_suppressor = false
 }
 
+declare_args() {
+  # Enable the usrsctp backend for DataChannels and related unittests
+  rtc_build_usrsctp = !build_with_mozilla && rtc_enable_sctp
+}
+
 # Make it possible to provide custom locations for some libraries (move these
 # up into declare_args should we need to actually use them for the GN build).
 rtc_libvpx_dir = "//third_party/libvpx"
