Index: trunk/grails-app/services/TaskReportService.groovy
===================================================================
--- trunk/grails-app/services/TaskReportService.groovy	(revision 708)
+++ trunk/grails-app/services/TaskReportService.groovy	(revision 709)
@@ -169,12 +169,23 @@
         def result = [:]
 
+        def fail = { Map m ->
+            result.error = [ code: m.code, args: [] ]
+            return result
+        }
+
         def namedParams = [:]
         namedParams.startDate = params.startDate ?: dateUtilService.today
-        namedParams.endDatePlusOne = (params.endDate ?: dateUtilService.today)+1
+        namedParams.endDate = params.endDate ?: dateUtilService.today
+
+        if(namedParams.endDate < namedParams.startDate)
+            return fail(code: "default.end.date.before.start.date")
+
+        namedParams.endDate++ // Start of next day required.
+
         namedParams.immediateCallout = TaskType.read(1)
 
         result.taskQuery = "from Task as task \
                                             where (task.trash = false \
-                                                        and task.targetStartDate < :endDatePlusOne \
+                                                        and task.targetStartDate < :endDate \
                                                         and task.targetStartDate >= :startDate \
                                                         and task.taskType = :immediateCallout \
