The fact that you widget has a scrollbar makes me think that it is sublassed from QAbsractScrollArea. With all probability you're overloading the contextMenuEvent() in your class. This causes context menu being shown over the scrollbars.

You should overload viewportEvent ( QEvent * e ) in your class and handle the event with QEvent::ContextMenu type there instead of overloading contextMenuEvent().

With all probability this will help.