diff --git a/src/NzbDrone.Core/MediaFiles/Events/SeriesScanSkippedEvent.cs b/src/NzbDrone.Core/MediaFiles/Events/SeriesScanSkippedEvent.cs
index 765207bd5..a1e3d0bb5 100644
--- a/src/NzbDrone.Core/MediaFiles/Events/SeriesScanSkippedEvent.cs
+++ b/src/NzbDrone.Core/MediaFiles/Events/SeriesScanSkippedEvent.cs
@@ -1,4 +1,4 @@
-using NzbDrone.Common.Messaging;
+using NzbDrone.Common.Messaging;
 using NzbDrone.Core.Tv;
 
 namespace NzbDrone.Core.MediaFiles.Events
@@ -18,6 +18,8 @@ namespace NzbDrone.Core.MediaFiles.Events
     public enum SeriesScanSkippedReason
     {
         RootFolderDoesNotExist,
-        RootFolderIsEmpty
+        RootFolderIsEmpty,
+        NeverRescanAfterRefresh,
+        RescanAfterManualRefreshOnly
     }
 }
diff --git a/src/NzbDrone.Core/Tv/RefreshSeriesService.cs b/src/NzbDrone.Core/Tv/RefreshSeriesService.cs
index 7ef62f68e..f34ae0c21 100644
--- a/src/NzbDrone.Core/Tv/RefreshSeriesService.cs
+++ b/src/NzbDrone.Core/Tv/RefreshSeriesService.cs
@@ -8,6 +8,7 @@ using NzbDrone.Common.Instrumentation.Extensions;
 using NzbDrone.Core.Configuration;
 using NzbDrone.Core.Exceptions;
 using NzbDrone.Core.MediaFiles;
+using NzbDrone.Core.MediaFiles.Events;
 using NzbDrone.Core.Messaging.Commands;
 using NzbDrone.Core.Messaging.Events;
 using NzbDrone.Core.MetadataSource;
@@ -157,26 +158,23 @@ namespace NzbDrone.Core.Tv
         private void RescanSeries(Series series, bool isNew, CommandTrigger trigger)
         {
             var rescanAfterRefresh = _configService.RescanAfterRefresh;
-            var shouldRescan = true;
 
             if (isNew)
             {
                 _logger.Trace("Forcing rescan of {0}. Reason: New series", series);
-                shouldRescan = true;
             }
             else if (rescanAfterRefresh == RescanAfterRefreshType.Never)
             {
                 _logger.Trace("Skipping rescan of {0}. Reason: never rescan after refresh", series);
-                shouldRescan = false;
+                _eventAggregator.PublishEvent(new SeriesScanSkippedEvent(series, SeriesScanSkippedReason.NeverRescanAfterRefresh));
+
+                return;
             }
             else if (rescanAfterRefresh == RescanAfterRefreshType.AfterManual && trigger != CommandTrigger.Manual)
             {
                 _logger.Trace("Skipping rescan of {0}. Reason: not after automatic scans", series);
-                shouldRescan = false;
-            }
+                _eventAggregator.PublishEvent(new SeriesScanSkippedEvent(series, SeriesScanSkippedReason.RescanAfterManualRefreshOnly));
 
-            if (!shouldRescan)
-            {
                 return;
             }