diff --git a/pkg/items/pagination.go b/pkg/items/pagination.go
index 6fe197d7d36c1e191e300dfb2a7799d4eac58a94..754eb22b5c3fe5beddc1aa74011f84da544a528c 100644
--- a/pkg/items/pagination.go
+++ b/pkg/items/pagination.go
@@ -16,9 +16,9 @@ type BatchProcessor struct {
 	FindPublishedOptions         *FindPublishedOptions
 	Filter                       *Filter
 
-	pageSize, pageNum int
-	sort              []string
-	processed         int
+	pageSize, pageNum, offset, limit int
+	sort                             []string
+	processed                        int
 }
 
 func (b *BatchProcessor) getBatch(ctx context.Context) ([]*Item, bool, error) {
@@ -37,7 +37,7 @@ func (b *BatchProcessor) getBatch(ctx context.Context) ([]*Item, bool, error) {
 				Regular:     b.FindPublishedOptions.Regular,
 				Hidden:      b.FindPublishedOptions.Hidden,
 				Templates:   b.FindPublishedOptions.Templates,
-				FindOptions: *options.NewFindOptions(b.pageNum, b.pageSize, b.sort...),
+				FindOptions: *options.NewFindOptions(b.pageNum, b.pageSize, b.offset, b.limit, b.sort...),
 			},
 		)
 	} else {
@@ -52,7 +52,7 @@ func (b *BatchProcessor) getBatch(ctx context.Context) ([]*Item, bool, error) {
 				Regular:     b.FindOptions.Regular,
 				Hidden:      b.FindOptions.Hidden,
 				Templates:   b.FindOptions.Templates,
-				FindOptions: *options.NewFindOptions(b.pageNum, b.pageSize, b.sort...),
+				FindOptions: *options.NewFindOptions(b.pageNum, b.pageSize, b.offset, b.limit, b.sort...),
 			},
 		)
 	}
diff --git a/pkg/options/options.go b/pkg/options/options.go
index b55c0ff3fef92768648b2419d04f22e76e7c2989..8b172de8f7f67157ebc7e354d8ec91c0e24a3ccf 100644
--- a/pkg/options/options.go
+++ b/pkg/options/options.go
@@ -102,7 +102,7 @@ func MergeSortOptions(options ...SortOptions) SortOptions {
 func MergePaginationOptions(options ...PaginationOptions) PaginationOptions {
 	fo := PaginationOptions{}
 	for _, opt := range options {
-		if opt.PageSize == 0 && opt.PageNum == 0 || opt.Offset == 0 && opt.Limit == 0 {
+		if opt.PageSize == 0 && opt.PageNum == 0 && opt.Offset == 0 && opt.Limit == 0 {
 			continue
 		}
 		fo.PageNum = opt.PageNum