diff --git a/src/core/qtlibtorrent/qbtsession.cpp b/src/core/qtlibtorrent/qbtsession.cpp
index 06cf650..1027930 100644
--- a/src/core/qtlibtorrent/qbtsession.cpp
+++ b/src/core/qtlibtorrent/qbtsession.cpp
@@ -564,12 +564,15 @@ void QBtSession::configureSession() {
     setGlobalMaxRatio(pref->getGlobalMaxRatio());
     updateRatioTimer();
     // Ip Filter
-    FilterParserThread::processFilterList(s, pref->bannedIPs());
     if (pref->isFilteringEnabled()) {
         enableIPFilter(pref->getFilter());
     }else{
         disableIPFilter();
     }
+    // Add the banned IPs after the possibly disabled IPFilter
+    // which creates an empty filter and overrides all previously
+    // applied bans.
+    FilterParserThread::processFilterList(s, pref->bannedIPs());
     // * Proxy settings
     proxy_settings proxySettings;
     if (pref->isProxyEnabled()) {
