diff --git a/ext/opentelemetry-ext-opentracing-shim/src/opentelemetry/ext/opentracing_shim/__init__.py b/ext/opentelemetry-ext-opentracing-shim/src/opentelemetry/ext/opentracing_shim/__init__.py
index bf2d57be912..1b64a8fc898 100644
--- a/ext/opentelemetry-ext-opentracing-shim/src/opentelemetry/ext/opentracing_shim/__init__.py
+++ b/ext/opentelemetry-ext-opentracing-shim/src/opentelemetry/ext/opentracing_shim/__init__.py
@@ -568,6 +568,11 @@ def start_active_span(
             :class:`ScopeManagerShim`.
         """
 
+        current_span = get_current_span()
+
+        if child_of is None and current_span is not None:
+            child_of = SpanShim(None, None, current_span)
+
         span = self.start_span(
             operation_name=operation_name,
             child_of=child_of,
diff --git a/ext/opentelemetry-ext-opentracing-shim/tests/test_shim.py b/ext/opentelemetry-ext-opentracing-shim/tests/test_shim.py
index ef3177cea3c..0aa9bcd75f9 100644
--- a/ext/opentelemetry-ext-opentracing-shim/tests/test_shim.py
+++ b/ext/opentelemetry-ext-opentracing-shim/tests/test_shim.py
@@ -592,3 +592,31 @@ def test_active(self):
 
         # Verify no span is active.
         self.assertIsNone(self.shim.active_span)
+
+    def test_mixed_mode(self):
+        """Test that span parent-child relationship is kept between
+        OpenTelemetry and the OpenTracing shim"""
+
+        span_shim = self.shim.start_span("TestSpan16")
+
+        with self.shim.scope_manager.activate(span_shim, finish_on_close=True):
+
+            with (
+                TracerProvider()
+                .get_tracer(__name__)
+                .start_as_current_span("abc")
+            ) as opentelemetry_span:
+
+                self.assertIs(
+                    span_shim.unwrap().context, opentelemetry_span.parent,
+                )
+
+        with (
+            TracerProvider().get_tracer(__name__).start_as_current_span("abc")
+        ) as opentelemetry_span:
+
+            with self.shim.start_active_span("TestSpan17") as scope:
+
+                self.assertIs(
+                    scope.span.unwrap().parent, opentelemetry_span.context,
+                )