Index: src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java
===================================================================
--- src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java	(revision 1373821)
+++ src/java/org/apache/fop/render/pdf/pdfbox/PDFBoxAdapter.java	(working copy)
@@ -354,9 +354,7 @@
         }
         transferDict(page.getCOSDictionary(), pageStream, page2form, true);
         AffineTransform at = form.getMatrix();
-        PDRectangle mediaBox = page.findMediaBox();
-        PDRectangle cropBox = page.findCropBox();
-        PDRectangle viewBox = (cropBox != null ? cropBox : mediaBox);
+        PDRectangle viewBox = PDFUtil.getViewBox(page);
 
         //Handle the /Rotation entry on the page dict
         int rotation = PDFUtil.getNormalizedRotation(page);
Index: src/java/org/apache/fop/render/pdf/pdfbox/PDFUtil.java
===================================================================
--- src/java/org/apache/fop/render/pdf/pdfbox/PDFUtil.java	(revision 1373821)
+++ src/java/org/apache/fop/render/pdf/pdfbox/PDFUtil.java	(working copy)
@@ -20,6 +20,7 @@
 package org.apache.fop.render.pdf.pdfbox;
 
 import org.apache.pdfbox.pdmodel.PDPage;
+import org.apache.pdfbox.pdmodel.common.PDRectangle;
 
 /**
  * Common utility functions for PDF access.
@@ -51,4 +52,10 @@
         }
     }
 
+    public static PDRectangle getViewBox(PDPage page) {
+        PDRectangle mediaBox = page.findMediaBox();
+        PDRectangle cropBox = page.findCropBox();
+        return cropBox != null && cropBox.getWidth() <= mediaBox.getWidth()
+                && cropBox.getHeight() <= mediaBox.getHeight() ? cropBox : mediaBox;
+    }
 }
Index: src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java
===================================================================
--- src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java	(revision 1373821)
+++ src/java/org/apache/fop/render/pdf/pdfbox/PreloaderPDF.java	(working copy)
@@ -141,9 +141,7 @@
                     + pddoc.getNumberOfPages() + " pages.");
         }
         PDPage page = (PDPage)pddoc.getDocumentCatalog().getAllPages().get(selectedPage);
-        PDRectangle mediaBox = page.findMediaBox();
-        PDRectangle cropBox = page.findCropBox();
-        PDRectangle viewBox = (cropBox != null ? cropBox : mediaBox);
+        PDRectangle viewBox = PDFUtil.getViewBox(page);
         int w = Math.round(viewBox.getWidth() * 1000);
         int h = Math.round(viewBox.getHeight() * 1000);
 
