diff --git a/3_pairmatchingGUI/gtMatchInitialize.m b/3_pairmatchingGUI/gtMatchInitialize.m
index c665102c86f215ef2dab78c653421e96a520ffdb..83154b5bc2fe007a6edd5faea38edb08f4f3bcb2 100644
--- a/3_pairmatchingGUI/gtMatchInitialize.m
+++ b/3_pairmatchingGUI/gtMatchInitialize.m
@@ -307,8 +307,7 @@ handles.fitting.tolfun = 1e-10;
 handles.fitting.derstep = 1e-7;
 
 % Activate use of equal number of pairs for fitting
-if (exist(parameters.match.equalize_hkls, 'var') || ...
-        isempty(parameters.match.equalize_hkls)
+if ~isfield(parameters.match, 'equalize_hkls')        
     handles.fitting. equalize_hkls = false;
 else
     handles.fitting.equalize_hkls = parameters.match.equalize_hkls;
diff --git a/5_reconstruction/gtFindFailedGrains.m b/5_reconstruction/gtFindFailedGrains.m
new file mode 100644
index 0000000000000000000000000000000000000000..379c2d5d056a2bf1a9d15c9963aa502e2effca66
--- /dev/null
+++ b/5_reconstruction/gtFindFailedGrains.m
@@ -0,0 +1,23 @@
+function list = gtFindFailedGrains(phase_ID)
+
+
+load(sprintf('4_grains/phase_%02d/index.mat', phase_ID)); 
+grain_file_name = sprintf('4_grains/phase_%02d/grain_details_', phase_ID);
+
+num_grains = numel(grain);
+
+list = [];
+
+failed_grains = 0;
+for i = 1 : num_grains
+    num_chars = fprintf('%d/%d (failed: %d)', i, num_grains, failed_grains);
+    mf = matfile(sprintf('%s%04d.mat', grain_file_name, i));
+    try 
+        size(mf, 'ODF6D');
+    catch
+        list = [list, i];
+        failed_grains = failed_grains + 1;
+    end
+    fprintf(repmat('\b', [1 num_chars]))
+end
+end