diff --git a/cbc.c b/cbc.c
index 94b7cca4c6c3807b0afa40ae00c84b55a67507d5..1873c8642c9dc98415307508e543afcf8dcdd643 100644
--- a/cbc.c
+++ b/cbc.c
@@ -44,7 +44,7 @@ cbc_encrypt(void *ctx, void (*f)(void *ctx,
   for ( ; length; length -= block_size, src += block_size, dst += block_size)
     {
       memxor(iv, src, block_size);
-      f(ctx, block_size, dst, src);
+      f(ctx, block_size, dst, iv);
       memcpy(iv, dst, block_size);
     }
 }