diff --git a/demo/comparison-oskar/generate_basefunction_plots.py b/demo/comparison-oskar/generate_basefunction_plots.py
index 8da6a0167fd52a296a921f9e23733b7e8c3fe22b..01c30e0d909d308420e774b80bdfe4d34dabd59a 100755
--- a/demo/comparison-oskar/generate_basefunction_plots.py
+++ b/demo/comparison-oskar/generate_basefunction_plots.py
@@ -1,6 +1,7 @@
 #!/usr/bin/env -S python3 -B
 
 import os
+import sys
 import numpy as np
 from matplotlib import pyplot as plt
 from generate_oskar_csv import generate_oskar_csv
@@ -21,6 +22,11 @@ if 'APPLY_TRANSPOSE' in os.environ:
 else:
     apply_transpose = True
 
+if 'TOLERANCE' in os.environ:
+    tolerance = float(os.environ['TOLERANCE'])
+else:
+    tolerance = 0.0
+
 plt.figure(figsize=(10,6))
 
 for em_idx in range(2):
@@ -69,32 +75,37 @@ for em_idx in range(2):
 
         subprocess.call(['comparison-oskar-generate-beampattern'])
 
-        A = np.load('response.npy')
+        B = np.load('response.npy')
 
         if apply_transpose:
-            A *= (-1)**(m+1)
+            B *= (-1)**(m+1)
 
         plt.subplot(2,4,5)
-        plt.imshow(np.abs(A[:,:,0,0]).T, clim=(0,.25), origin='lower')
+        plt.imshow(np.abs(B[:,:,0,0]).T, clim=(0,.25), origin='lower')
         plt.colorbar()
         plt.title('abs(Etheta)')
         plt.ylabel('EveryBeam')
 
         plt.subplot(2,4,6)
-        plt.imshow(np.abs(A[:,:,0,1]).T, clim=(0,.25), origin='lower')
+        plt.imshow(np.abs(B[:,:,0,1]).T, clim=(0,.25), origin='lower')
         plt.colorbar()
         plt.title('abs(Ephi)')
 
         plt.subplot(2,4,7)
-        plt.imshow(np.angle(A[:,:,0,0]).T, clim=(-np.pi, np.pi), cmap='twilight', origin='lower')
+        plt.imshow(np.angle(B[:,:,0,0]).T, clim=(-np.pi, np.pi), cmap='twilight', origin='lower')
         plt.colorbar()
         plt.title('angle(Etheta)')
 
         plt.subplot(2,4,8)
-        plt.imshow(np.angle(A[:,:,0,1]).T, clim=(-np.pi, np.pi), cmap='twilight', origin='lower')
+        plt.imshow(np.angle(B[:,:,0,1]).T, clim=(-np.pi, np.pi), cmap='twilight', origin='lower')
         plt.colorbar()
         plt.title('angle(Ephi)')
 
         plt.gcf().suptitle('l = {}, m = {}, s = {}'.format(l,m,s))
 
         plt.savefig('basefunction{}-{}'.format(basefunction_idx,em_idx))
+
+        if tolerance:
+            difference = np.nanmax(np.abs(A-B))
+            if difference > tolerance:
+                sys.exit("Difference between OSKAR and EveryBeam spherical wave model is {}, which is larger than the tolerance {}".format(difference, tolerance))