diff --git a/djblets/webapi/core.py b/djblets/webapi/core.py
index 5a82a4dbac8636ffa0f973d11f7786680f4d938e..ac10767a42965a95a3f07ad0bb55bd9b212534e6 100644
--- a/djblets/webapi/core.py
+++ b/djblets/webapi/core.py
@@ -330,14 +330,16 @@ class WebAPIResponsePaginated(WebAPIResponse):
 
         results = queryset[start:start + max_results]
 
-        if serialize_object_func:
+        total_results = queryset.count()
+
+        if total_results == 0:
+            results = []
+        elif serialize_object_func:
             results = [serialize_object_func(obj)
                        for obj in results]
         else:
             results = list(results)
 
-        total_results = queryset.count()
-
         data = {
             results_key: results,
             total_results_key: total_results,
