@@ -701,7 +701,7 @@ void ListViewWithPageHeader::updatePolish()
701701 return;
702702
703703 if (!m_visibleItems.isEmpty()) {
704− const qreal visibleFrom = contentY() - m_clipItem->y();
704+ const qreal visibleFrom = contentY() - m_clipItem->y() + m_headerItemShownHeight;
705705 const qreal visibleTo = contentY() + height() - m_clipItem->y();
706706
707707 qreal pos = m_visibleItems.first()->y();
@@ -720,7 +720,6 @@ void ListViewWithPageHeader::updatePolish()
720720 const QString section = m_delegateModel->stringValue(modelIndex, m_sectionProperty);
721721 QQmlContext *context = QQmlEngine::contextForObject(m_topSectionItem)->parentContext();
722722 context->setContextProperty(QLatin1String("section"), section);
723−
724723
725724 // Positing the top section sticky item is a two step process
726725 // First we set it either we cull it (because it doesn't need to be sticked to the top)
@@ -730,9 +729,13 @@ void ListViewWithPageHeader::updatePolish()
730729 const qreal topSectionStickPos = m_headerItemShownHeight + contentY() - m_clipItem->y();
731730 if (topSectionStickPos <= pos) {
732731 QQuickItemPrivate::get(m_topSectionItem)->setCulled(true);
732+ QQuickItemPrivate::get(item->m_sectionItem)->setCulled(false);
733733 } else {
734734 QQuickItemPrivate::get(m_topSectionItem)->setCulled(false);
735735 m_topSectionItem->setY(topSectionStickPos);
736+ if (item->m_sectionItem) {
737+ QQuickItemPrivate::get(item->m_sectionItem)->setCulled(true);
738+ }
736739 }
737740 }
738741 }