diff --git a/src/core/pattern.js b/src/core/pattern.js
index 21167f477..fe9c36e1e 100644
--- a/src/core/pattern.js
+++ b/src/core/pattern.js
@@ -143,12 +143,12 @@ Shadings.RadialAxial = (function RadialAxialClosure() {
     // 10 samples seems good enough for now, but probably won't work
     // if there are sharp color changes. Ideally, we would implement
     // the spec faithfully and add lossless optimizations.
-    var diff = t1 - t0;
-    var step = diff / 10;
+    const NUMBER_OF_SAMPLES = 10;
+    const step = (t1 - t0) / NUMBER_OF_SAMPLES;
 
     var colorStops = this.colorStops = [];
 
-    // Protect against bad domains so we don't end up in an infinite loop below.
+    // Protect against bad domains.
     if (t0 >= t1 || step <= 0) {
       // Acrobat doesn't seem to handle these cases so we'll ignore for
       // now.
@@ -158,12 +158,12 @@ Shadings.RadialAxial = (function RadialAxialClosure() {
 
     var color = new Float32Array(cs.numComps), ratio = new Float32Array(1);
     var rgbColor;
-    for (var i = t0; i <= t1; i += step) {
-      ratio[0] = i;
+    for (let i = 0; i <= NUMBER_OF_SAMPLES; i++) {
+      ratio[0] = t0 + i * step;
       fn(ratio, 0, color, 0);
       rgbColor = cs.getRgb(color, 0);
       var cssColor = Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);
-      colorStops.push([(i - t0) / diff, cssColor]);
+      colorStops.push([i / NUMBER_OF_SAMPLES, cssColor]);
     }
 
     var background = 'transparent';
diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore
index 02eaef340..46f0aa1a6 100644
--- a/test/pdfs/.gitignore
+++ b/test/pdfs/.gitignore
@@ -161,6 +161,7 @@
 !issue4402_reduced.pdf
 !issue845r.pdf
 !issue3405r.pdf
+!issue7339_reduced.pdf
 !issue3438.pdf
 !issue2074.pdf
 !scan-bad.pdf
diff --git a/test/pdfs/issue7339_reduced.pdf b/test/pdfs/issue7339_reduced.pdf
new file mode 100644
index 000000000..1a8f3338e
Binary files /dev/null and b/test/pdfs/issue7339_reduced.pdf differ
diff --git a/test/test_manifest.json b/test/test_manifest.json
index a939822c1..4d2e3d961 100644
--- a/test/test_manifest.json
+++ b/test/test_manifest.json
@@ -1872,6 +1872,12 @@
       "link": true,
       "type": "load"
     },
+    {  "id": "issue7339",
+       "file": "pdfs/issue7339_reduced.pdf",
+       "md5": "7092ab6a1acc31db9d1caaa0447334a0",
+       "rounds": 1,
+       "type": "eq"
+    },
     {  "id": "bug1142033",
        "file": "pdfs/bug1142033.pdf",
        "md5": "1d9afd397e89a0f52c056f449ec93daa",