Index: trunk/psphot/src/psphotMagnitudes.c
===================================================================
--- trunk/psphot/src/psphotMagnitudes.c	(revision 11312)
+++ trunk/psphot/src/psphotMagnitudes.c	(revision 12592)
@@ -18,12 +18,7 @@
     // Get enough information to return sky level
     assert(background != NULL);
-    assert(background->analysis != NULL);
-    int DX = psMetadataLookupS32(&status, background->analysis, "PSPHOT.BACKGROUND.XBIN");
-    assert (status == true);
-    int DY = psMetadataLookupS32(&status, background->analysis, "PSPHOT.BACKGROUND.YBIN");
-    assert (status == true);
-    int dx = psMetadataLookupS32(&status, background->analysis, "PSPHOT.BACKGROUND.XOFF");
-    assert (status == true);
-    int dy = psMetadataLookupS32(&status, background->analysis, "PSPHOT.BACKGROUND.YOFF");
+
+    // the binning details are saved on the analysis metadata 
+    psImageBinning *binning = psMetadataLookupPtr(&status, recipe, "PSPHOT.BACKGROUND.BINNING");
     assert (status == true);
 
@@ -40,5 +35,5 @@
 	if (status) Nap ++;
 
-	source->sky = psImageUnbinPixel(source->peak->x, source->peak->y, background->image, DX, DY, dx, dy);
+	source->sky = psImageUnbinPixel(source->peak->x, source->peak->y, background->image, binning);
 	if (isnan(source->sky) && false) {
 	  psError(PSPHOT_ERR_SKY, false, "Setting pmSource.sky");
