diff --git a/pystencils/backends/cbackend.py b/pystencils/backends/cbackend.py
index c11fe37bb4b90d0d2aabe9834de8dc63d84690dc..e06c298987650d507d6c8f8aa21ffc09001efda3 100644
--- a/pystencils/backends/cbackend.py
+++ b/pystencils/backends/cbackend.py
@@ -661,16 +661,6 @@ class VectorizedCustomSympyPrinter(CustomSympyPrinter):
                     #     if k in code:
                     #         return code.replace(k, f'{k}f')
                     # raise ValueError(f"{code} doesn't give {known=} function back.")
-                # elif isinstance(arg, sp.UnevaluatedExpr):
-                #     unevaluated_expression = arg.args[0]
-                #     test = self._print_Mul(unevaluated_expression, inside_add=True)
-                #     # printed_args = [self._typed_vectorized_symbol(a, data_type) for a in arg.args]
-                #     printed_args = [self._print(a) for a in unevaluated_expression.args]
-                #     return test[1]
-                #
-                #     # return self.instruction_set[instruction].format(*printed_args, **self._kwargs)
-                #
-                #     return printed_args
                 else:
                     raise NotImplementedError('Vectorizer cannot cast between different datatypes')
                     # to_type = self.instruction_set['suffix'][data_type.base_type.c_name]
diff --git a/pystencils/cpu/vectorization.py b/pystencils/cpu/vectorization.py
index 3adcbc31b0840ac5e4973c3c06cce850217e5890..c1362d3453b8213caa7c43aa202f3d20592ea391 100644
--- a/pystencils/cpu/vectorization.py
+++ b/pystencils/cpu/vectorization.py
@@ -320,7 +320,9 @@ def insert_vector_casts(ast_node, instruction_set, default_float_type='double'):
                                  for a, t in zip(new_conditions, types_of_conditions)]
 
             return sp.Piecewise(*[(r, c) for r, c in zip(casted_results, casted_conditions)])
-        elif isinstance(expr, (sp.Number, TypedSymbol, BooleanAtom)):
+        elif isinstance(expr, TypedSymbol):
+            return CastFunc(expr, VectorType(expr.dtype, instruction_set['width']))
+        elif isinstance(expr, (sp.Number, BooleanAtom)):
             return expr
         else:
             raise NotImplementedError(f'Due to defensive programming we handle only specific expressions.\n'
diff --git a/pystencils_tests/test_vectorization.py b/pystencils_tests/test_vectorization.py
index 10898bbf71b8b2dabc2fbca78f74fb209c710f21..6ea6b70bdc18abd5d994bc4eecdf99679e89d80e 100644
--- a/pystencils_tests/test_vectorization.py
+++ b/pystencils_tests/test_vectorization.py
@@ -40,26 +40,6 @@ def test_vector_type_propagation(instruction_set=instruction_set):
     np.testing.assert_equal(dst[1:-1, 1:-1], 2 * 10.0 + 3)
 
 
-def test_vectorised_multiplication(instruction_set=instruction_set):
-    instructions = get_vector_instruction_set(instruction_set=instruction_set)
-    a, b = sp.symbols("a b")
-    f = ps.fields("f:[2D]")
-
-    update_rule = ps.Assignment(f[0, 0], a * b)
-
-    ast = ps.create_kernel(update_rule)
-    print(instruction_set)
-    vectorize(ast, instruction_set=instruction_set)
-
-    # ps.show_code(ast)
-
-    func = ast.compile()
-    code = ps.get_code_str(ast)
-
-    mul_instruction = instructions["*"][:instructions["*"].find("(")]
-    assert mul_instruction in code
-
-
 @pytest.mark.parametrize('openmp', [True, False])
 def test_aligned_and_nt_stores(openmp, instruction_set=instruction_set):
     domain_size = (24, 24)