When the page first loads, everything looks okay...
But if I show a hidden column...
Here's what happens...
The newly shown column is circled in blue. The problem, as you can see, is that the position of the column circled in red should actually be swapped with the column to the left of it. And column #2 (ordering from left to right in the picture, starting from #1) now has an incorrect parent header ("Average") - it should be "Total". And column #4 (the one circled in red), "Constrained", should have a parent header of "Average" (that gray one in column #2).
And just FYI, if I show another column (which should also be under "Session Time [minutes]")...
...then here's what we get...
(Newly shown column circled in blue.)
But, you can see that the data columns are placed correctly. Just not the headers.