diff --git a/Tools/ecl_ekf/process_logdata_ekf.py b/Tools/ecl_ekf/process_logdata_ekf.py
index f1c96601af962d02da648027225a8022c21fd008..83a52b3c9ea3087449f5befecc98a99f200e0a7c 100755
--- a/Tools/ecl_ekf/process_logdata_ekf.py
+++ b/Tools/ecl_ekf/process_logdata_ekf.py
@@ -39,13 +39,22 @@ ulog = ULog(args.filename, None)
 data = ulog.data_list
 
 # extract data from EKF status message
-estimator_status_data = ulog.get_dataset('estimator_status').data;
+try:
+    estimator_status_data = ulog.get_dataset('estimator_status').data;
+except (KeyError, IndexError, ValueError) as error:
+    print(type(error), "(estimator_status):", error)
 
 # extract data from EKF innovations message
-ekf2_innovations_data = ulog.get_dataset('ekf2_innovations').data;
+try:
+    ekf2_innovations_data = ulog.get_dataset('ekf2_innovations').data;
+except (KeyError, IndexError, ValueError) as error:
+    print(type(error), "(ekf2_innovations):", error)
 
 # extract data from sensor preflight check message
-sensor_preflight_data = ulog.get_dataset('sensor_preflight').data;
+try:
+    sensor_preflight_data = ulog.get_dataset('sensor_preflight').data;
+except (KeyError, IndexError, ValueError) as error:
+    print(type(error), "(sensor_preflight):", error)
 
 if args.check_level_thresholds:
     check_level_dict_filename = args.check_level_thresholds