diff --git a/AUG/sxrbgeometry.m b/AUG/sxrbgeometry.m
index b81452977badfc69e86151cf51e5244f5fcfa3dc..9d631c2bb94026dd50c956d4ce0536206c465df0 100644
--- a/AUG/sxrbgeometry.m
+++ b/AUG/sxrbgeometry.m
@@ -59,12 +59,8 @@ end
 % compute R
 zmag=varargin{1};
 varargout{1}=NaN*ones(length(ang_B),length(zmag));
-for i=1:length(zmag)
-  if zmag(i)>Z_B
-    ii=find(ang_B<((pi-atan((zmag(i)-Z_B)/(R_B-0.)))*180/pi));
-    varargout{1}(ii,i) = R_B - (zmag(i)-Z_B)./tan(pi-ang_B(ii).*pi/180);
-  elseif zmag(i)<Z_B
-    ii=find(ang_B>((pi-atan((zmag(i)-Z_B)/(R_B-0.)))*180/pi));
-    varargout{1}(ii,i) = R_B - (zmag(i)-Z_B)./tan(pi-ang_B(ii).*pi/180);
-  end
+for i=1:length(ang_B)
+  varargout{1}(i,:) = R_B - (zmag'-Z_B)./tan(pi-ang_B(i).*pi/180);
 end
+iiout=find(varargout{1}<=0 | varargout{1}>=2.5);
+varargout{1}(iiout)=NaN;