diff --git a/dev/integration_tests/flutter_gallery/test_driver/transitions_perf_test.dart b/dev/integration_tests/flutter_gallery/test_driver/transitions_perf_test.dart
index a23d91d..0e5d552 100644
--- a/dev/integration_tests/flutter_gallery/test_driver/transitions_perf_test.dart
+++ b/dev/integration_tests/flutter_gallery/test_driver/transitions_perf_test.dart
@@ -190,6 +190,7 @@
 }
 
 void main([List<String> args = const <String>[]]) {
+  final bool withSemantics = args.contains('--with_semantics');
   group('flutter gallery transitions', () {
     FlutterDriver driver;
     setUpAll(() async {
@@ -197,8 +198,7 @@
 
       // Wait for the first frame to be rasterized.
       await driver.waitUntilFirstFrameRasterized();
-
-      if (args.contains('--with_semantics')) {
+      if (withSemantics) {
         print('Enabeling semantics...');
         await driver.setSemantics(true);
       }
@@ -214,6 +214,12 @@
         await driver.close();
     });
 
+    test('find.bySemanticsLabel', () async {
+      // Assert that we can use semantics related finders in profile mode.
+      final int id = await driver.getSemanticsId(find.bySemanticsLabel('Material'));
+      expect(id, greaterThan(-1));
+    }, skip: !withSemantics);
+
     test('all demos', () async {
       // Collect timeline data for just a limited set of demos to avoid OOMs.
       final Timeline timeline = await driver.traceAction(
diff --git a/packages/flutter/lib/src/rendering/object.dart b/packages/flutter/lib/src/rendering/object.dart
index eaaa3ef..a6abe70 100644
--- a/packages/flutter/lib/src/rendering/object.dart
+++ b/packages/flutter/lib/src/rendering/object.dart
@@ -2482,15 +2482,13 @@
   /// render objects in production, obtain a [SemanticsHandle] from
   /// [PipelineOwner.ensureSemantics].
   ///
-  /// Only valid when asserts are enabled. In release builds, always returns
+  /// Only valid in debug and profile mode. In release builds, always returns
   /// null.
   SemanticsNode get debugSemantics {
-    SemanticsNode result;
-    assert(() {
-      result = _semantics;
-      return true;
-    }());
-    return result;
+    if (!kReleaseMode) {
+      return _semantics;
+    }
+    return null;
   }
 
   /// Removes all semantics from this render object and its descendants.
