diff --git a/Data/Array/Repa/Operators/Interleave.hs b/Data/Array/Repa/Operators/Interleave.hs
--- a/Data/Array/Repa/Operators/Interleave.hs
+++ b/Data/Array/Repa/Operators/Interleave.hs
@@ -42,7 +42,7 @@
 	 = error "Data.Array.Repa.interleave2: arrays must have same extent"
 
 	elemFn get1 get2 (sh :. ix)
-	 = case ix `mod` 3 of
+	 = case ix `mod` 2 of
 		0	-> get1 (sh :. ix `div` 2)
 		1	-> get2 (sh :. ix `div` 2)
 		_	-> error "Data.Array.Repa.interleave2: this never happens :-P"
diff --git a/repa.cabal b/repa.cabal
--- a/repa.cabal
+++ b/repa.cabal
@@ -1,5 +1,5 @@
 Name:                repa
-Version:             3.1.3.2
+Version:             3.1.3.3
 License:             BSD3
 License-file:        LICENSE
 Author:              The DPH Team
