diff --git a/libswresample/resample_template.c b/libswresample/resample_template.c
index 9279c71150f07d7a6a3128e5da3b3c093591dfd4..0fc9770b2817a42e2fbfc880e34b90e252e7156c 100644
--- a/libswresample/resample_template.c
+++ b/libswresample/resample_template.c
@@ -168,8 +168,6 @@ int RENAME(swri_resample_linear)(ResampleContext *c,
     int dst_index;
     int index= c->index;
     int frac= c->frac;
-    int dst_incr_frac= c->dst_incr % c->src_incr;
-    int dst_incr=      c->dst_incr / c->src_incr;
     int sample_index = index >> c->phase_shift;
 
     index &= c->phase_mask;
@@ -189,8 +187,8 @@ int RENAME(swri_resample_linear)(ResampleContext *c,
         val += (v2 - val) * (FELEML) frac / c->src_incr;
         OUT(dst[dst_index], val);
 
-        frac += dst_incr_frac;
-        index += dst_incr;
+        frac += c->dst_incr_mod;
+        index += c->dst_incr_div;
         if (frac >= c->src_incr) {
             frac -= c->src_incr;
             index++;