diff --git a/multiarea_model/analysis_helpers.py b/multiarea_model/analysis_helpers.py
index d3bba1771ed954b1f50cc2271729d3e195ef53dd..a51c72cad4ebc8e75e83e04b14abaea7d4027050 100644
--- a/multiarea_model/analysis_helpers.py
+++ b/multiarea_model/analysis_helpers.py
@@ -538,7 +538,7 @@ def pop_cv_isi(data_array, t_min, t_max):
         for i in np.unique(data_array[:, 0]):
             intervals = np.diff(data_array[indices][
                                 np.where(data_array[indices, 0] == i), 1])
-            if (len(intervals) > 0):
+            if intervals.size > 0:
                 cv_isi.append(np.std(intervals) / np.mean(intervals))
         if len(cv_isi) > 0:
             return np.mean(cv_isi)
@@ -668,8 +668,11 @@ def synchrony(data_array, num_neur, t_min, t_max, resolution=1.0):
     spike_count_histogramm = pop_rate_time_series(
         data_array, num_neur, t_min, t_max, resolution=resolution)
     mean = np.mean(spike_count_histogramm)
-    variance = np.var(spike_count_histogramm)
-    synchrony = variance / mean
+    std_dev = np.std(spike_count_histogramm)
+    if std_dev + mean != std_dev:  # check for vanishing mean
+        synchrony = std_dev / mean
+    else:
+        synchrony = np.inf
     return synchrony