diff --git a/src/TokenOrTokensPreAlter.php b/src/TokenOrTokensPreAlter.php
index 3c118b9..009d89d 100644
--- a/src/TokenOrTokensPreAlter.php
+++ b/src/TokenOrTokensPreAlter.php
@@ -44,15 +44,23 @@ class TokenOrTokensPreAlter {
 
     foreach (reset($matches) as $match) {
       if (strpos($match, '|') !== FALSE) {
+        $enclosures = ['"', "'"];
         $match_clean = substr(substr($match, 1), 0, -1);
         $sub_tokens = explode('|', $match_clean);
 
         foreach ($sub_tokens as $sub_token) {
-          if (substr($sub_token, 0, 1) === '"' && substr($sub_token, -1, 1) === '"') {
-            // This is a string replacement.
-            $result = substr(substr($sub_token, 1), 0, -1);
+          $result = NULL;
+          if (in_array(substr($sub_token, 0, 1), $enclosures) && in_array(substr($sub_token, -1, 1), $enclosures)) {
+            foreach ($enclosures as $enclosure) {
+              // Make sure that we are using the same enclosure.
+              if (substr($sub_token, 0, 1) === $enclosure && substr($sub_token, -1, 1) === $enclosure) {
+                // This is a string replacement.
+                $result = substr(substr($sub_token, 1), 0, -1);
+                break;
+              }
+            }
           }
-          else {
+          if ($result === NULL) {
             // This is a token replacement.
             $result = $this->token->replace('[' . $sub_token . ']', $data, $options);
           }
diff --git a/tests/src/Kernel/TokenOrTest.php b/tests/src/Kernel/TokenOrTest.php
index b09b796..e5efe81 100644
--- a/tests/src/Kernel/TokenOrTest.php
+++ b/tests/src/Kernel/TokenOrTest.php
@@ -69,6 +69,8 @@ class TokenOrTest extends KernelTestBase {
   public function testStringReplacement() {
     $value = $this->tokenService->replace('[token_or:empty|"' . self::$stringReplacement . '"]');
     $this->assertEquals(self::$stringReplacement, $value);
+    $value = $this->tokenService->replace("[token_or:empty|'" . self::$stringReplacement . "']");
+    $this->assertEquals(self::$stringReplacement, $value);
   }
 
   /**
@@ -85,6 +87,8 @@ class TokenOrTest extends KernelTestBase {
   public function testStringValidation() {
     $invalid_tokens = $this->tokenService->getInvalidTokensByContext('[token_or:test|"' . self::$stringReplacement . '"]', ['token_or']);
     $this->assertEmpty($invalid_tokens);
+    $invalid_tokens = $this->tokenService->getInvalidTokensByContext("[token_or:empty|'" . self::$stringReplacement . "']", ['token_or']);
+    $this->assertEmpty($invalid_tokens);
   }
 
   /**
