diff --git a/lib/datadog/tracing/contrib/rails/patcher.rb b/lib/datadog/tracing/contrib/rails/patcher.rb
index 1054e7cc42b..d9b3418606a 100644
--- a/lib/datadog/tracing/contrib/rails/patcher.rb
+++ b/lib/datadog/tracing/contrib/rails/patcher.rb
@@ -11,9 +11,10 @@ module Datadog
   module Tracing
     module Contrib
       module Rails
-        module JourneyRouterPatch
-          def find_routes(*)
+        module RoutingRouteSetPatch
+          def call(*)
             result = nil
+
             configuration = Datadog.configuration.tracing[:rails]
 
             Tracing.trace(
@@ -22,12 +23,18 @@ def find_routes(*)
               span_type: Tracing::Metadata::Ext::HTTP::TYPE_INBOUND,
               # resource: "#{request.request_method} #{datadog_route}",
             ) do |span, trace|
-              binding.pry
-
               result = super
+            end
 
-              binding.pry
+            result
+          end
+        end
+
+        module JourneyRouterPatch
+          def find_routes(*)
+            result = super
 
+            if (span = Datadog::Tracing.active_span)
               datadog_route = result.first[2].path.spec.to_s
 
               span.set_tag(Ext::TAG_ROUTE_PATH, datadog_route)
@@ -68,6 +75,7 @@ def before_initialize(app)
               # Sometimes we don't want to activate middleware e.g. OpenTracing, etc.
               add_middleware(app) if Datadog.configuration.tracing[:rails][:middleware]
 
+              ActionDispatch::Routing::RouteSet.prepend(RoutingRouteSetPatch)
               ActionDispatch::Journey::Router.prepend(JourneyRouterPatch)
 
               Rails::LogInjection.configure_log_tags(app.config)