diff --git a/src/core/SkGlyphRun.cpp b/src/core/SkGlyphRun.cpp
index 9ae21c01a5..ee19c0edc4 100644
--- a/src/core/SkGlyphRun.cpp
+++ b/src/core/SkGlyphRun.cpp
@@ -267,10 +267,9 @@ void SkGlyphRunBuilder::drawTextBlob(const SkPaint& paint, const SkTextBlob& blo
         const SkPoint& offset = it.offset();
         auto glyphIDs = SkSpan<const SkGlyphID>{it.glyphs(), runSize};
 
-        size_t uniqueGlyphIDsSize = 0;
         switch (it.positioning()) {
             case SkTextBlobRunIterator::kDefault_Positioning: {
-                uniqueGlyphIDsSize = this->simplifyDrawText(
+                this->simplifyDrawText(
                         paint, it.runFont(), glyphIDs, offset,
                         currentDenseIndices, currentUniqueGlyphIDs, currentPositions,
                         text, clusters);
@@ -278,14 +277,14 @@ void SkGlyphRunBuilder::drawTextBlob(const SkPaint& paint, const SkTextBlob& blo
                 break;
             case SkTextBlobRunIterator::kHorizontal_Positioning: {
                 auto constY = offset.y();
-                uniqueGlyphIDsSize = this->simplifyDrawPosTextH(
+                this->simplifyDrawPosTextH(
                         paint, it.runFont(), glyphIDs, it.pos(), constY,
                         currentDenseIndices, currentUniqueGlyphIDs, currentPositions,
                         text, clusters);
             }
                 break;
             case SkTextBlobRunIterator::kFull_Positioning:
-                uniqueGlyphIDsSize = this->simplifyDrawPosText(
+                this->simplifyDrawPosText(
                         paint, it.runFont(), glyphIDs, (const SkPoint*)it.pos(),
                         currentDenseIndices, currentUniqueGlyphIDs,
                         text, clusters);
@@ -294,7 +293,6 @@ void SkGlyphRunBuilder::drawTextBlob(const SkPaint& paint, const SkTextBlob& blo
 
         currentDenseIndices += runSize;
         currentPositions += runSize;
-        currentUniqueGlyphIDs += uniqueGlyphIDsSize;
     }
 
     this->makeGlyphRunList(paint, &blob, origin);
@@ -398,7 +396,7 @@ void SkGlyphRunBuilder::makeGlyphRunList(
         paint, blob, origin, SkSpan<SkGlyphRun>{fGlyphRunListStorage}};
 }
 
-size_t SkGlyphRunBuilder::simplifyDrawText(
+void SkGlyphRunBuilder::simplifyDrawText(
         const SkPaint& paint, const SkRunFont& runFont, SkSpan<const SkGlyphID> glyphIDs,
         SkPoint origin, uint16_t* uniqueGlyphIDIndicesBuffer, SkGlyphID* uniqueGlyphIDsBuffer,
         SkPoint* positions, SkSpan<const char> text, SkSpan<const uint32_t> clusters) {
@@ -408,21 +406,18 @@ size_t SkGlyphRunBuilder::simplifyDrawText(
 
     SkPaint runPaint{paint, runFont};
 
-    auto unqiueGlyphIDs = this->addDenseAndUnique(
-            runPaint, glyphIDs, uniqueGlyphIDIndicesBuffer, uniqueGlyphIDsBuffer);
-
-    if (!unqiueGlyphIDs.empty()) {
+    if (!glyphIDs.empty()) {
         fScratchAdvances.resize(runSize);
         {
             auto cache = SkStrikeCache::FindOrCreateStrikeExclusive(runPaint);
-            cache->getAdvances(unqiueGlyphIDs, fScratchAdvances.data());
+            cache->getAdvances(glyphIDs, fScratchAdvances.data());
         }
 
         SkPoint endOfLastGlyph = origin;
 
         for (size_t i = 0; i < runSize; i++) {
             positions[i] = endOfLastGlyph;
-            endOfLastGlyph += fScratchAdvances[uniqueGlyphIDIndicesBuffer[i]];
+            endOfLastGlyph += fScratchAdvances[i];
         }
 
         if (paint.getTextAlign() != SkPaint::kLeft_Align) {
@@ -433,7 +428,6 @@ size_t SkGlyphRunBuilder::simplifyDrawText(
             for (auto& pt : SkSpan<SkPoint>{positions, runSize}) {
                 pt -= len;
             }
-
         }
 
         this->makeGlyphRun(
@@ -441,16 +435,14 @@ size_t SkGlyphRunBuilder::simplifyDrawText(
                 runFont,
                 glyphIDs,
                 SkSpan<const SkPoint>{positions, runSize},
-                SkSpan<const uint16_t>{uniqueGlyphIDIndicesBuffer, runSize},
-                unqiueGlyphIDs,
+                SkSpan<const uint16_t>{},
+                SkSpan<const SkGlyphID>{},
                 text,
                 clusters);
     }
-
-    return unqiueGlyphIDs.size();
 }
 
-size_t SkGlyphRunBuilder::simplifyDrawPosTextH(
+void SkGlyphRunBuilder::simplifyDrawPosTextH(
         const SkPaint& paint, const SkRunFont& runFont, SkSpan<const SkGlyphID> glyphIDs,
         const SkScalar* xpos, SkScalar constY,
         uint16_t* uniqueGlyphIDIndicesBuffer, SkGlyphID* uniqueGlyphIDsBuffer, SkPoint* positions,
@@ -461,34 +453,25 @@ size_t SkGlyphRunBuilder::simplifyDrawPosTextH(
         *posCursor++ = SkPoint::Make(x, constY);
     }
 
-    return simplifyDrawPosText(paint, runFont, glyphIDs, positions,
-            uniqueGlyphIDIndicesBuffer, uniqueGlyphIDsBuffer,
-            text, clusters);
+    simplifyDrawPosText(paint, runFont, glyphIDs, positions,
+                        uniqueGlyphIDIndicesBuffer, uniqueGlyphIDsBuffer,
+                        text, clusters);
 }
 
-size_t SkGlyphRunBuilder::simplifyDrawPosText(
+void SkGlyphRunBuilder::simplifyDrawPosText(
         const SkPaint& paint, const SkRunFont& runFont, SkSpan<const SkGlyphID> glyphIDs,
         const SkPoint* pos, uint16_t* uniqueGlyphIDIndicesBuffer, SkGlyphID* uniqueGlyphIDsBuffer,
         SkSpan<const char> text, SkSpan<const uint32_t> clusters) {
     auto runSize = glyphIDs.size();
 
-    // The dense indices are not used by the rest of the stack yet.
-    SkSpan<const SkGlyphID> uniqueGlyphIDs;
-    #ifdef SK_DEBUG
-        uniqueGlyphIDs = this->addDenseAndUnique(
-                paint, glyphIDs, uniqueGlyphIDIndicesBuffer, uniqueGlyphIDsBuffer);
-    #endif
 
-    // TODO: when using the unique glyph system have a guard that there are actually glyphs like
-    // drawText above.
     this->makeGlyphRun(
             paint,
             runFont,
             glyphIDs,
             SkSpan<const SkPoint>{pos, runSize},
-            SkSpan<const SkGlyphID>{uniqueGlyphIDIndicesBuffer, runSize},
-            uniqueGlyphIDs,
+            SkSpan<const uint16_t>{},
+            SkSpan<const SkGlyphID>{},
             text,
             clusters);
-    return uniqueGlyphIDs.size();
 }
diff --git a/src/core/SkGlyphRun.h b/src/core/SkGlyphRun.h
index 2b0562b59e..cdf8cecb58 100644
--- a/src/core/SkGlyphRun.h
+++ b/src/core/SkGlyphRun.h
@@ -222,19 +222,19 @@ private:
 
     void makeGlyphRunList(const SkPaint& paint, const SkTextBlob* blob, SkPoint origin);
 
-    size_t simplifyDrawText(
+    void simplifyDrawText(
             const SkPaint& paint, const SkRunFont& runFont, SkSpan<const SkGlyphID> glyphIDs,
             SkPoint origin,uint16_t* uniqueGlyphIDIndices, SkGlyphID* uniqueGlyphIDs,
             SkPoint* positions,
             SkSpan<const char> text = SkSpan<const char>{},
             SkSpan<const uint32_t> clusters = SkSpan<const uint32_t>{});
-    size_t simplifyDrawPosTextH(
+    void simplifyDrawPosTextH(
             const SkPaint& paint, const SkRunFont& runFont, SkSpan<const SkGlyphID> glyphIDs,
             const SkScalar* xpos, SkScalar constY,
             uint16_t* uniqueGlyphIDIndices, SkGlyphID* uniqueGlyphIDs, SkPoint* positions,
             SkSpan<const char> text = SkSpan<const char>{},
             SkSpan<const uint32_t> clusters = SkSpan<const uint32_t>{});
-    size_t simplifyDrawPosText(
+    void simplifyDrawPosText(
             const SkPaint& paint, const SkRunFont& runFont, SkSpan<const SkGlyphID> glyphIDs,
             const SkPoint* pos, uint16_t* uniqueGlyphIDIndices, SkGlyphID* uniqueGlyphIDs,
             SkSpan<const char> text = SkSpan<const char>{},