diff -Nuar a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt	2017-12-14 14:08:44.000000000 +0300
+++ b/CMakeLists.txt	2017-12-17 22:28:41.525681257 +0300
@@ -62,7 +62,7 @@
 include(ECMCoverageOption)
 
 
-set(QT_REQUIRED_VERSION "5.8.0")
+set(QT_REQUIRED_VERSION "5.7.1")
 
 set(KDEPIMRUNTIME_LIB_VERSION "${KDEPIM_RUNTIME_VERSION_NUMBER}")
 set(KDEPIMRUNTIME_LIB_SOVERSION "5")
diff -Nuar a/resources/tomboynotes/tomboyitemuploadjob.cpp b/resources/tomboynotes/tomboyitemuploadjob.cpp
--- a/resources/tomboynotes/tomboyitemuploadjob.cpp	2017-12-13 15:11:13.000000000 +0300
+++ b/resources/tomboynotes/tomboyitemuploadjob.cpp	2017-12-17 22:30:50.749671933 +0300
@@ -65,7 +65,9 @@
     case JobType::AddItem:
         jsonNote[QLatin1String("create-date")] = getCurrentISOTime();
         // Missing break is intended
+#if QT_VERSION >= QT_VERSION_CHECK(5,8,0)
         Q_FALLTHROUGH();
+#endif
     case JobType::ModifyItem:
         jsonNote[QLatin1String("title")] = mNoteContent->headerByType("subject")->asUnicodeString();
         jsonNote[QLatin1String("note-content")] = mNoteContent->mainBodyPart()->decodedText();
diff -Nuar a/resources/imap/searchtask.cpp b/resources/imap/searchtask.cpp
--- a/resources/imap/searchtask.cpp	2017-12-13 15:11:13.000000000 +0300
+++ b/resources/imap/searchtask.cpp	2017-12-17 22:48:51.475593953 +0300
@@ -104,12 +104,16 @@
             switch (term.condition()) {
             case Akonadi::SearchTerm::CondGreaterOrEqual:
                 value--;
+#if QT_VERSION >= QT_VERSION_CHECK(5,8,0)
                 Q_FALLTHROUGH();
+#endif
             case Akonadi::SearchTerm::CondGreaterThan:
                 return KIMAP::Term(KIMAP::Term::Larger, value).setNegated(term.isNegated());
             case Akonadi::SearchTerm::CondLessOrEqual:
                 value++;
+#if QT_VERSION >= QT_VERSION_CHECK(5,8,0)
                 Q_FALLTHROUGH();
+#endif
             case Akonadi::SearchTerm::CondLessThan:
                 return KIMAP::Term(KIMAP::Term::Smaller, value).setNegated(term.isNegated());
             case Akonadi::SearchTerm::CondEqual:
@@ -128,12 +132,16 @@
             switch (term.condition()) {
             case Akonadi::SearchTerm::CondGreaterOrEqual:
                 value = value.addDays(-1);
+#if QT_VERSION >= QT_VERSION_CHECK(5,8,0)
                 Q_FALLTHROUGH();
+#endif
             case Akonadi::SearchTerm::CondGreaterThan:
                 return KIMAP::Term(KIMAP::Term::SentSince, value).setNegated(term.isNegated());
             case Akonadi::SearchTerm::CondLessOrEqual:
                 value = value.addDays(1);
+#if QT_VERSION >= QT_VERSION_CHECK(5,8,0)
                 Q_FALLTHROUGH();
+#endif
             case Akonadi::SearchTerm::CondLessThan:
                 return KIMAP::Term(KIMAP::Term::SentBefore, value).setNegated(term.isNegated());
             case Akonadi::SearchTerm::CondEqual:
