diff --git a/lbmpy/phasefield_allen_cahn/kernel_equations.py b/lbmpy/phasefield_allen_cahn/kernel_equations.py
index b6904aa90b2900d55358786bab1c5f457efa2572..5f4a690dc0acb724337ac99d2b806646d3740911 100644
--- a/lbmpy/phasefield_allen_cahn/kernel_equations.py
+++ b/lbmpy/phasefield_allen_cahn/kernel_equations.py
@@ -159,11 +159,11 @@ def viscous_force(lb_velocity_field, phi_field, mrt_method, tau, density_heavy,
     eq = np.array(eq)
 
     g_vals = [lb_velocity_field.center(i) for i, _ in enumerate(stencil)]
-    m0 = np.dot(moment_matrix, g_vals)
+    m0 = np.dot(moment_matrix.tolist(), g_vals)
 
     m = m0 - eq
     m = m * rel
-    non_equilibrium = np.dot(moment_matrix.inv(), m)
+    non_equilibrium = np.dot(moment_matrix.inv().tolist(), m)
 
     stress_tensor = [0] * 6
     # Calculate Stress Tensor MRT
@@ -293,7 +293,7 @@ def get_update_rules_velocity(src_field, u_in, lb_method, force, density):
         indices.append(eq.index(first_eqs[i]))
 
     src = [src_field.center(i) for i, _ in enumerate(stencil)]
-    m0 = np.dot(moment_matrix, src)
+    m0 = np.dot(moment_matrix.tolist(), src)
 
     update_u = list()
     update_u.append(Assignment(sp.symbols("rho"), m0[0]))
@@ -356,7 +356,7 @@ def get_collision_assignments_hydro(density=1, optimization=None, **kwargs):
     eq = np.array(eq)
 
     g_vals = [src_field.center(i) for i, _ in enumerate(stencil)]
-    m0 = np.dot(moment_matrix, g_vals)
+    m0 = np.dot(moment_matrix.tolist(), g_vals)
 
     mf = np.zeros(len(stencil), dtype=object)
     for i in range(dimensions):
@@ -374,7 +374,7 @@ def get_collision_assignments_hydro(density=1, optimization=None, **kwargs):
         update_m.append(Assignment(m[i], m0[i] - (m0[i] - eq[i] + mf[i] / 2) * rel[i] + mf[i]))
 
     update_g = list()
-    var = np.dot(moment_matrix.inv(), m)
+    var = np.dot(moment_matrix.inv().tolist(), m)
     if params['kernel_type'] == 'collide_stream_push':
         push_accessor = StreamPushTwoFieldsAccessor()
         post_collision_accesses = push_accessor.write(dst_field, stencil)
diff --git a/lbmpy_tests/full_scenarios/shear_wave/scenario_shear_wave.py b/lbmpy_tests/full_scenarios/shear_wave/scenario_shear_wave.py
index 77dc02e9c2509c6f961a680548b396d299531ba9..dc887f7282fb8edd4ef82250e5c331d1741e6323 100644
--- a/lbmpy_tests/full_scenarios/shear_wave/scenario_shear_wave.py
+++ b/lbmpy_tests/full_scenarios/shear_wave/scenario_shear_wave.py
@@ -65,7 +65,7 @@ def plot_y_velocity(vel, **kwargs):
 
 def fit_and_get_slope(x_values, y_values):
     matrix = np.vstack([x_values, np.ones(len(x_values))]).T
-    m, _ = np.linalg.lstsq(matrix, y_values, rcond=None)[0]
+    m, _ = np.linalg.lstsq(matrix, y_values, rcond=1e-14)[0]
     return m
 
 
diff --git a/lbmpy_tests/test_plot.py b/lbmpy_tests/test_plot.py
index 2c5e138611041fe621b56e25c36278978ae34014..d6d521101aeb502dd2d9bb98adba14b905bb3a57 100644
--- a/lbmpy_tests/test_plot.py
+++ b/lbmpy_tests/test_plot.py
@@ -1,5 +1,8 @@
 import os
 from tempfile import TemporaryDirectory
+import shutil
+
+import pytest
 
 import numpy as np
 
@@ -7,6 +10,7 @@ import lbmpy.plot as plt
 from lbmpy.scenarios import create_lid_driven_cavity
 
 
+@pytest.mark.skipif(shutil.which('ffmpeg') is None, reason="ffmpeg not available")
 def test_animation():
 
     ldc = create_lid_driven_cavity((10, 10), relaxation_rate=1.8)