diff --git a/loopy/target/c/c_execution.py b/loopy/target/c/c_execution.py
index c136a9f36f8dd7b797aa9b6875a41e3ea185c0ca..4fd248c87660d2c871b22e2dc376c296644b8e2b 100644
--- a/loopy/target/c/c_execution.py
+++ b/loopy/target/c/c_execution.py
@@ -107,7 +107,8 @@ class CExecutionWrapperGenerator(ExecutionWrapperGeneratorBase):
 
         #check strides
         if not skip_arg_checks:
-            gen("assert %(strides)s == %(name)s.strides, "
+            gen("assert _lpy_filter_stride(%(name)s.shape, %(strides)s) "
+                    "== _lpy_filter_stride(%(name)s.shape, %(name)s.strides), "
                     "'Strides of loopy created array %(name)s, "
                     "do not match expected.'" %
                     dict(name=arg.name,