diff --git a/trackeroo/lib/frontend/views/details_view.dart b/trackeroo/lib/frontend/views/details_view.dart
index f0f590dca9d19d56d4cb78ba08cbb0402391a152..39071889980ee8aae4a9a3e0fd0923cbc947b443 100644
--- a/trackeroo/lib/frontend/views/details_view.dart
+++ b/trackeroo/lib/frontend/views/details_view.dart
@@ -286,6 +286,8 @@ class _DetailsViewState extends State<DetailsView> {
   List<LineChartBarData> buildBarData(List<Transaction> transactionsList) {
     List<LineChartBarData> categoryBars = [];
     List<Category> selectedCategories = [];
+    List<Transaction> barDataList = transactionsList.toList();
+    barDataList.sort((a, b) => a.createdAt.compareTo(b.createdAt));
     for (String categoryId in appState.detailsTransactionsFilter) {
       if (locator
           .get<CategoriesController>()
@@ -299,7 +301,7 @@ class _DetailsViewState extends State<DetailsView> {
         in locator.get<CategoriesController>().categories.values) {
       List<FlSpot> categoryDataPoints = [const FlSpot(0.0, 0.0)];
       int xVal = 1;
-      for (Transaction transaction in transactionsList) {
+      for (Transaction transaction in barDataList) {
         if (transaction.categoryId == category.id) {
           categoryDataPoints
               .add(FlSpot(xVal.toDouble(), transaction.amount.abs()));