diff --git a/pystencils/cpu/vectorization.py b/pystencils/cpu/vectorization.py
index c1362d3453b8213caa7c43aa202f3d20592ea391..0fcd32fdab86042507fd1ff85fcd75f92a61c025 100644
--- a/pystencils/cpu/vectorization.py
+++ b/pystencils/cpu/vectorization.py
@@ -321,7 +321,10 @@ def insert_vector_casts(ast_node, instruction_set, default_float_type='double'):
 
             return sp.Piecewise(*[(r, c) for r, c in zip(casted_results, casted_conditions)])
         elif isinstance(expr, TypedSymbol):
-            return CastFunc(expr, VectorType(expr.dtype, instruction_set['width']))
+            if isinstance(expr.dtype, BasicType):
+                return CastFunc(expr, VectorType(expr.dtype, instruction_set['width']))
+            else:
+                return expr
         elif isinstance(expr, (sp.Number, BooleanAtom)):
             return expr
         else: