diff -Nuar a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt	2017-12-08 04:04:12.000000000 +0300
+++ b/CMakeLists.txt	2017-12-16 23:59:08.782150823 +0300
@@ -26,7 +26,7 @@
 include(ECMCoverageOption)
 
 set(LIBKSIEVE_LIB_VERSION ${PIM_VERSION})
-set(QT_REQUIRED_VERSION "5.8.0")
+set(QT_REQUIRED_VERSION "5.7.1")
 set(KMIME_LIB_VERSION "5.7.0")
 set(IDENTITYMANAGEMENT_LIB_VERSION "5.7.0")
 set(KMAILTRANSPORT_LIB_VERSION "5.7.0")
diff -Nuar a/src/parser/lexer.cpp b/src/parser/lexer.cpp
--- a/src/parser/lexer.cpp	2017-12-04 13:20:12.000000000 +0300
+++ b/src/parser/lexer.cpp	2017-12-17 00:05:50.587121831 +0300
@@ -294,7 +294,9 @@
             // and CRLF! That should be preserved somehow...
             return MultiLineString;
         }
+#if QT_VERSION >= QT_VERSION_CHECK(5,8,0)
         Q_FALLTHROUGH();
+#endif
     default: // Identifier (first must not be 0-9, and can't (caught by Number above))
         if (!isIText(*mState.cursor)) {
             makeError(Error::IllegalCharacter);
@@ -688,7 +690,9 @@
             if (atEnd()) {
                 break;
             }
+#if QT_VERSION >= QT_VERSION_CHECK(5,8,0)
             Q_FALLTHROUGH();
+#endif
         default:
             if (!is8Bit(*mState.cursor)) {
                 result += QLatin1Char(*mState.cursor++);
