diff --git a/src/plugins/tasklist/tasklist.pro b/src/plugins/tasklist/tasklist.pro
index 9c35d6aea9c11982725e22ab7a3e0cf72866bc50..be8cebc23a772435bf772e67e70a673064c872a1 100644
--- a/src/plugins/tasklist/tasklist.pro
+++ b/src/plugins/tasklist/tasklist.pro
@@ -5,6 +5,8 @@ include(../../qtcreatorplugin.pri)
 include(../../plugins/coreplugin/coreplugin.pri)
 include(../../plugins/projectexplorer/projectexplorer.pri)
 
+DEFINES += QT_NO_CAST_FROM_ASCII
+
 HEADERS += tasklistplugin.h \
     tasklist_export.h \
     tasklistconstants.h \
diff --git a/src/plugins/tasklist/tasklist.qbs b/src/plugins/tasklist/tasklist.qbs
index 9a92e0493e39a6204b9743e0ef5d6478980bf9c3..d428621359cc433e916001b75b78c3d799d62ec4 100644
--- a/src/plugins/tasklist/tasklist.qbs
+++ b/src/plugins/tasklist/tasklist.qbs
@@ -5,12 +5,14 @@ import "../QtcPlugin.qbs" as QtcPlugin
 QtcPlugin {
     name: "TaskList"
 
+    Depends { name: "cpp" }
     Depends { name: "Qt.widgets" }
     Depends { name: "Core" }
     Depends { name: "ProjectExplorer" }
     Depends { name: "Find" }
     Depends { name: "Locator" }
     Depends { name: "TextEditor" }
+    cpp.defines: base.concat(["QT_NO_CAST_FROM_ASCII"])
 
     files: [
         "TaskList.mimetypes.xml",
diff --git a/src/plugins/tasklist/tasklistplugin.cpp b/src/plugins/tasklist/tasklistplugin.cpp
index 8a3506190d918d12adf0cffb939dda0eddb431e8..5eaf0c3a8339a4ede31f78188e3d94d7bb1cd542 100644
--- a/src/plugins/tasklist/tasklistplugin.cpp
+++ b/src/plugins/tasklist/tasklistplugin.cpp
@@ -112,7 +112,7 @@ public:
                 file = QDir::fromNativeSeparators(file);
                 QFileInfo fi(file);
                 if (fi.isRelative() && context) {
-                    QString fullPath = context->projectDirectory() + '/' + file;
+                    QString fullPath = context->projectDirectory() + QLatin1Char('/') + file;
                     fi.setFile(fullPath);
                     file = fi.absoluteFilePath();
                 }
@@ -130,29 +130,29 @@ public:
     {
         QStringList result;
         QString line = QString::fromUtf8(raw.constData());
-        if (line.startsWith(QChar('#')))
+        if (line.startsWith(QLatin1Char('#')))
             return result;
 
-        return line.split(QChar('\t'));
+        return line.split(QLatin1Char('\t'));
     }
 
     QString unescape(const QString &input) const
     {
         QString result;
         for (int i = 0; i < input.count(); ++i) {
-            if (input.at(i) == QChar('\\')) {
+            if (input.at(i) == QLatin1Char('\\')) {
                 if (i == input.count() - 1)
                     continue;
-                if (input.at(i + 1) == QChar('n')) {
-                    result.append(QChar('\n'));
+                if (input.at(i + 1) == QLatin1Char('n')) {
+                    result.append(QLatin1Char('\n'));
                     ++i;
                     continue;
-                } else if (input.at(i + 1) == QChar('t')) {
-                    result.append(QChar('\t'));
+                } else if (input.at(i + 1) == QLatin1Char('t')) {
+                    result.append(QLatin1Char('\t'));
                     ++i;
                     continue;
-                } else if (input.at(i + 1) == QChar('\\')) {
-                    result.append(QChar('\\'));
+                } else if (input.at(i + 1) == QLatin1Char('\\')) {
+                    result.append(QLatin1Char('\\'));
                     ++i;
                     continue;
                 }