Random SDC / unwarping failures


I am experiencing some random failure or, miscorrection, if you will, of susceptibility distortions for some subjects. What I mean by random failure is that fmriprep seemingly runs fine for all subjects - however the output does not look good for some of them. I cannot figure out why it is only affecting some subjects…

I do not get any warnings when running except “qform matrix overwritten” - which affects some of these, and then other random subjects. From what I gather this is not a hugely important warning? At least I believe it is not affecting the SDC here because several subjects have that warning and look completely fine.

The issue seems to be worse in anterior/ventral regions - especially around the ventricles - compared to posterior/dorsal regions. I have found some similar threads on the subject, but I don´t really understand the solutions presented there or even if this is the same problem:

About my data: we collected multiband fMRI (SMS = 6) for 88 subjects, so there is a quite marked signal dropout in the frontal areas. We use PE-polar fieldmap correction (i.e. two EPI runs with opposite phase encoding). The phase encoding information in the jsons and IntendedFor fields are correct, I checked a million times…

All subjects have two runs, immediately following one another The SDC seems to do poorly for 12 of the subjects. For 7 of those, the SDC is only poor in one of the runs. E.g., run 1 looks bad and run 2 (acquired right after run 1) looks OK. This leads me to believe that the source of the problem is not really subject anatomy or positioning in the scanner…?

Importantly, I have re-run the analysis and the same thing happened to the same subjects/runs. Which makes it seem less random. I also discovered that the same subjects/runs are affected in an analysis I did using an older version of fMRIPREP (20.0.6).

This is my fmriprep command:
/usr/local/miniconda/bin/fmriprep /data /out participant --participant_label 1234 -w /work --fs-subjects-dir /fsdir --notrack --output-spaces func MNI152NLin6Asym:res-2 --fs-license-file /BIDS/FSlicense.txt --verbose --skip-bids-validation --task-id cpt --bids-filter-file /BIDS/bids_filter_file_ses-T2.json --omp-nthreads 11 --use-plugin /BIDS/plugin-48-12.yml --bids-database-dir /BIDS/bids_db

I am attaching a few images of how it typically looks. This is the same person two consecutive task runs; where the first one is bad and the other one in my opinion is good.
Is this fixable or is there a possible workaround? Hope someone is able to help.