Index: src/orca/mag.py
===================================================================
--- src/orca/mag.py	(revision 3375)
+++ src/orca/mag.py	(working copy)
@@ -1196,21 +1196,22 @@
     if not _initialized:
         return
 
+    [oldX, oldY] = _zoomer.getMagFactor()
+
     _zoomer.setMagFactor(x, y)
 
     # [[[TODO: JD - I think the screen is blanking out due to how gnome-mag
-    # does its thing.  See bug 503075. There's a bit of "jumpiness" with
-    # each increase in magnification.  At least we're keeping things on
-    # screen now, but we need to eliminate this issue.]]]
+    # does its thing.  See bug 503075. 
     #
     if updateScreen:
         __updateROIDimensions()
-        newROI = GNOME.Magnifier.RectBounds(_minROIX,
-                                            _minROIY,
-                                            _minROIX + _roiWidth,
-                                            _minROIY + _roiHeight)
-        __setROI(newROI)
-        magnifyAccessible(None, orca_state.locusOfFocus)
+        if (oldX > x) and (x < 2):
+            _minROIX = _sourceDisplayBounds.x1
+            _minROIY = _sourceDisplayBounds.y1
+            _maxROIX = _sourceDisplayBounds.x2
+            _maxROIY = _sourceDisplayBounds.y2
+        extents = orca_state.locusOfFocus.queryComponent().getExtents(0)
+        __setROICenter(extents.x, extents.y)
 
 def setZoomerSmoothingType(smoothingType, updateScreen=True):
     """Sets the zoomer's smoothing type.
Index: src/orca/orca-setup.glade
===================================================================
--- src/orca/orca-setup.glade	(revision 3375)
+++ src/orca/orca-setup.glade	(working copy)
@@ -1259,8 +1259,8 @@
 			      <property name="wrap">False</property>
 			      <property name="adjustment">10 1 9999 1 10 10</property>
 			      <accessibility>
+				<atkrelation target="speakProgressBarUnitsLabel" type="labelled-by"/>
 				<atkrelation target="speakProgressBarLabel" type="labelled-by"/>
-				<atkrelation target="speakProgressBarUnitsLabel" type="labelled-by"/>
 			      </accessibility>
 			      <signal name="value_changed" handler="speakProgressBarValueChanged" last_modification_time="Thu, 14 Jun 2007 15:09:00 GMT"/>
 			    </widget>
@@ -2262,7 +2262,7 @@
 					  <property name="update_policy">GTK_UPDATE_ALWAYS</property>
 					  <property name="snap_to_ticks">False</property>
 					  <property name="wrap">False</property>
-					  <property name="adjustment">1 1 16 0.25 10 10</property>
+					  <property name="adjustment">1 1 16 0.25 1 10</property>
 					  <accessibility>
 					    <atkrelation target="magZoomFactorLabel" type="labelled-by"/>
 					  </accessibility>
@@ -3366,8 +3366,8 @@
 							  <property name="wrap">False</property>
 							  <property name="adjustment">1 1 256 1 10 10</property>
 							  <accessibility>
+							    <atkrelation target="magCrossHairSizeUnitsLabel" type="labelled-by"/>
 							    <atkrelation target="magCrossHairSizeLabel" type="labelled-by"/>
-							    <atkrelation target="magCrossHairSizeUnitsLabel" type="labelled-by"/>
 							  </accessibility>
 							  <signal name="value_changed" handler="magCrossHairSizeValueChanged" last_modification_time="Wed, 03 May 2006 15:39:23 GMT"/>
 							</widget>
@@ -3714,8 +3714,8 @@
 							  <property name="wrap">False</property>
 							  <property name="adjustment">1 24 256 1 10 10</property>
 							  <accessibility>
+							    <atkrelation target="magCursorSizeUnitsLabel" type="labelled-by"/>
 							    <atkrelation target="magCursorSizeLabel" type="labelled-by"/>
-							    <atkrelation target="magCursorSizeUnitsLabel" type="labelled-by"/>
 							  </accessibility>
 							  <signal name="value_changed" handler="magCursorSizeValueChanged" last_modification_time="Wed, 03 May 2006 15:31:48 GMT"/>
 							</widget>
@@ -4157,8 +4157,8 @@
 						  <property name="wrap">False</property>
 						  <property name="adjustment">0 0 100 1 10 10</property>
 						  <accessibility>
+						    <atkrelation target="magEdgeMarginLabel" type="labelled-by"/>
 						    <atkrelation target="magEdgeMarginUnitsLabel" type="labelled-by"/>
-						    <atkrelation target="magEdgeMarginLabel" type="labelled-by"/>
 						  </accessibility>
 						  <signal name="value_changed" handler="magEdgeMarginValueChanged" last_modification_time="Thu, 06 Dec 2007 22:57:50 GMT"/>
 						</widget>
