diff --git a/fastlane/metadata/android/en-US/changelogs/76.txt b/fastlane/metadata/android/en-US/changelogs/76.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ead5d8e0bcf1cd9e5106b90f3b8c8ef43e48c4e5
--- /dev/null
+++ b/fastlane/metadata/android/en-US/changelogs/76.txt
@@ -0,0 +1 @@
+Fix hour/day heatmap last column.
diff --git a/fastlane/metadata/android/fr-FR/changelogs/76.txt b/fastlane/metadata/android/fr-FR/changelogs/76.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1c551897d89fbe22dbca3a0e4165e886bece6f93
--- /dev/null
+++ b/fastlane/metadata/android/fr-FR/changelogs/76.txt
@@ -0,0 +1 @@
+Correction sur dernière colonne de la répartition par heure/jour.
diff --git a/lib/models/data/heatmap.dart b/lib/models/data/heatmap.dart
index 4722e2bffc59b7c6079b0dc5b2c7f4b739b0d34d..0b71a2a920a9a39925b4fe9ce39edbb4e100fa70 100644
--- a/lib/models/data/heatmap.dart
+++ b/lib/models/data/heatmap.dart
@@ -16,7 +16,7 @@ class HeatmapData {
 
         Map<int, int> dataForThisDay = {};
         for (var hour in rawDataForThisDay.keys) {
-          dataForThisDay[int.parse(hour)] = int.parse(rawDataForThisDay[hour].toString());
+          dataForThisDay[int.parse(hour) % 24] = int.parse(rawDataForThisDay[hour].toString());
         }
 
         data[int.parse(day)] = dataForThisDay;
@@ -32,7 +32,7 @@ class HeatmapData {
     for (var day in data.keys) {
       Map<String, int> dayMap = {};
       data[day]?.forEach((hour, count) {
-        dayMap[hour.toString()] = count;
+        dayMap[(hour % 24).toString()] = count;
       });
       map[day.toString()] = dayMap;
     }
diff --git a/lib/ui/widgets/charts/heatmap.dart b/lib/ui/widgets/charts/heatmap.dart
index f78de041bf37f69e65ee43788a6273feaf1fbf11..f9cdf8d7fbc5c293d562ffee4f99537c74f79a61 100644
--- a/lib/ui/widgets/charts/heatmap.dart
+++ b/lib/ui/widgets/charts/heatmap.dart
@@ -34,7 +34,7 @@ class ChartHeatmap extends CustomChart {
         ScatterChartData(
           scatterSpots: getSpots(),
           minX: 0,
-          maxX: 24,
+          maxX: 23,
           minY: 0,
           maxY: 7,
           borderData: FlBorderData(show: false),
@@ -73,11 +73,12 @@ class ChartHeatmap extends CustomChart {
     final int maxCount = getMaxCount();
 
     chartData.data.forEach((day, hours) {
+      //   hours.removeWhere((h, i) => h == 24);
       hours.forEach((hour, count) {
         double normalizedValue = count / maxCount;
 
         spots.add(ScatterSpot(
-          hour.toDouble(),
+          (hour % 24).toDouble(),
           8 - day.toDouble(),
           dotPainter: FlDotSquarePainter(
             color: getColorFromNormalizedValue(normalizedValue),
diff --git a/pubspec.yaml b/pubspec.yaml
index b7a1f1a2e37c33e0e300f80f759fa5d1301c5f98..f3653a30850650effac9387dd0f72f329e431e46 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -3,7 +3,7 @@ description: Display scrobbles data and charts
 
 publish_to: "none"
 
-version: 0.8.3+75
+version: 0.8.4+76
 
 environment:
   sdk: "^3.0.0"