diff --git a/src/services/queryRunner.service.ts b/src/services/queryRunner.service.ts
index 044708f409d169f07a339ea2774a9e17ec241121..b9fffafffcfac6cdffe77a633b6b1baaa9a87991 100644
--- a/src/services/queryRunner.service.ts
+++ b/src/services/queryRunner.service.ts
@@ -111,25 +111,29 @@ export default class QueryRunner {
     timePeriod: TimePeriod,
     timeStep: TimeStep
   ) {
-    // increase timeperiod range because the last data for a day is actually stored the next day at 00:00
     if (timeStep === TimeStep.HALF_AN_HOUR) {
+      // increase timeperiod range because the last data for a day is actually stored the next day at 00:00
       timePeriod.startDate = timePeriod.startDate.plus({ minutes: 30 })
       timePeriod.endDate = timePeriod.endDate.plus({ minutes: 30 })
     }
-    const filteredResult = data.data.filter((entry: any) =>
-      this.withinDateBoundaries(
+
+    const filteredResult = data.data.filter((entry: any) => {
+      // added ternary expression to not send to withinDateBoundaries an hour different than zero when not in half-hour mode
+      const hour = timeStep === TimeStep.HALF_AN_HOUR ? entry.hour : 0
+      const min = timeStep === TimeStep.HALF_AN_HOUR ? entry.minute : 0
+      return this.withinDateBoundaries(
         DateTime.local(
           entry.year,
           entry.month || 1,
           entry.day || 1,
-          entry.hour,
-          entry.minute
+          hour,
+          min
         ).setZone('utc', {
           keepLocalTime: true,
         }),
         timePeriod
       )
-    )
+    })
     return filteredResult
   }