I had the same issue, mostly using IGListKit delegate method:
func viewForSupplementaryElement(ofKind elementKind: String, at index: Int) -> UICollectionReusableView
Instead of using
context.dequeueReusableCell
I changed that call for
context.dequeueReusableSupplementaryView
So the internal IGListKit implementation can use
UICollectionView.dequeueReusableSupplementaryViewOfKind
instead of
UICollectionView.dequeueReusableCellWithReuseIdentifier
That worked for me.