diff --git a/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs b/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs
index 607bea5288a2ff606003bc399b67231caddf73ee..b90f27a045aa0a2d25f62ecec9b1881a8afb96fc 100644
--- a/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs
+++ b/BeSafePlus/ViewModels/ActivityHistoryViewModel.cs
@@ -192,12 +192,20 @@ namespace BeSafePlus.ViewModels
 
             var newWeeklyData = new List<StepCount>();
 
+            var monthCount = new Dictionary<int, int>();
+
             int totalSteps = 0;
 
             for (int i = 0; i < 7; i++)
             {
                 var date = startOfWeek.AddDays(i);
 
+                int monthKey = date.Month + date.Year * 100;
+
+                if (!monthCount.ContainsKey(monthKey)) monthCount[monthKey] = 0;
+                
+                monthCount[monthKey]++;
+
                 var stepData = await _database.GetStepCountByDate(date);
 
                 if (stepData != null)
@@ -217,11 +225,17 @@ namespace BeSafePlus.ViewModels
 
             TotalStepsThisWeek = totalSteps;
 
-            var currentWeekReferenceDate = today;
+            int dominantMonthKey = monthCount.OrderByDescending(kv => kv.Value).First().Key;
+
+            int dominantYear = dominantMonthKey / 100;
+
+            int dominantMonth = dominantMonthKey % 100;
+
+            var dominantMonthDate = new DateTime(dominantYear, dominantMonth, 1);
 
-            var realMonthOffset = (currentWeekReferenceDate.Year - DateTime.Now.Year) * 12 + (currentWeekReferenceDate.Month - DateTime.Now.Month);
+            var now = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
 
-            _currentMonthOffset = realMonthOffset;
+            _currentMonthOffset = ((dominantMonthDate.Year - now.Year) * 12) + (dominantMonthDate.Month - now.Month);
 
             await LoadMonthlySteps();