Gnats 5421 is due to some change in Qwt which makes comparison of a QwtText instance with a QString instance unreliable, for example, as with this statement: if (myQwtText == myQString) ... For the comparison expression a temporary myQwtText instance using this constructor: QwtText (const QString &=QString::null, TextFormat textFormat=AutoText) If the original 'myQwtText' happens to have a 'textFormat' different from 'AutoText', the comparison will fail even if the text context of the two variables is the same. Something about this seems to have changed in the newest version of Qwt 5.2. Gnats 5421 could be fixed with this change in method CurveDlg::curveChanged(int): OLD: if (curve->title() == target) NEW: if (curve->title().text() == target) But there could be another undetected problems like this in our code. So I'm defining the following two global functions: bool operator== (const QwtText& lhs, const QString& rhs) { return (lhs.text() == rhs); } bool operator== (const QString& lhs, const QwtText& rhs) { return (lhs == rhs.text()); }