diff --git a/core/lib/Drupal/Core/Render/Element/HtmlTag.php b/core/lib/Drupal/Core/Render/Element/HtmlTag.php
index 44bf835..033e70a 100644
--- a/core/lib/Drupal/Core/Render/Element/HtmlTag.php
+++ b/core/lib/Drupal/Core/Render/Element/HtmlTag.php
@@ -8,6 +8,7 @@
 namespace Drupal\Core\Render\Element;
 
 use Drupal\Component\Utility\SafeMarkup;
+use Drupal\Core\Render\SafeString;
 use Drupal\Component\Utility\Xss;
 use Drupal\Core\Template\Attribute;
 
@@ -183,17 +184,18 @@ public static function preRenderConditionalComments($element) {
       $suffix = Xss::filterAdmin($suffix);
     }
 
-    // Now calling SafeMarkup::set is safe, because we ensured the
-    // data coming in was at least admin escaped.
+    // We ensured above that $expression is either a string we created or is
+    // admin XSS filtered, and that $prefix and $suffix are also admin XSS
+    // filtered if they are unsafe. Thus, all these strings are safe.
     if (!$browsers['!IE']) {
       // "downlevel-hidden".
-      $element['#prefix'] = SafeMarkup::set("\n<!--[if $expression]>\n" . $prefix);
-      $element['#suffix'] = SafeMarkup::set($suffix . "<![endif]-->\n");
+      $element['#prefix'] = SafeString::create("\n<!--[if $expression]>\n" . $prefix);
+      $element['#suffix'] = SafeString::create($suffix . "<![endif]-->\n");
     }
     else {
       // "downlevel-revealed".
-      $element['#prefix'] = SafeMarkup::set("\n<!--[if $expression]><!-->\n" . $prefix);
-      $element['#suffix'] = SafeMarkup::set($suffix . "<!--<![endif]-->\n");
+      $element['#prefix'] = SafeString::create("\n<!--[if $expression]><!-->\n" . $prefix);
+      $element['#suffix'] = SafeString::create($suffix . "<!--<![endif]-->\n");
     }
 
     return $element;
diff --git a/core/tests/Drupal/Tests/Core/Render/Element/HtmlTagTest.php b/core/tests/Drupal/Tests/Core/Render/Element/HtmlTagTest.php
index 2135344..19a0c1b 100644
--- a/core/tests/Drupal/Tests/Core/Render/Element/HtmlTagTest.php
+++ b/core/tests/Drupal/Tests/Core/Render/Element/HtmlTagTest.php
@@ -7,7 +7,7 @@
 
 namespace Drupal\Tests\Core\Render\Element;
 
-use Drupal\Component\Utility\SafeMarkup;
+use Drupal\Core\Render\SafeString;
 use Drupal\Tests\UnitTestCase;
 use Drupal\Core\Render\Element\HtmlTag;
 
@@ -87,10 +87,10 @@ public function providerPreRenderHtmlTag() {
    */
   public function testPreRenderConditionalComments($element, $expected, $set_safe = FALSE) {
     if ($set_safe) {
-      SafeMarkup::set($element['#prefix']);
-      SafeMarkup::set($element['#suffix']);
+      $element['#prefix'] = SafeString::create($element['#prefix']);
+      $element['#suffix'] = SafeString::create($element['#suffix']);
     }
-    $this->assertSame($expected, HtmlTag::preRenderConditionalComments($element));
+    $this->assertEquals($expected, HtmlTag::preRenderConditionalComments($element));
   }
 
   /**
