diff --git a/matlab/interpos_nan.m b/matlab/interpos_nan.m
index 396b06b3ce1c00e2f9d89a07d9900530c8afed24..1b2e116bd62439cc3011c1cefab5d6cd84395be5 100644
--- a/matlab/interpos_nan.m
+++ b/matlab/interpos_nan.m
@@ -2,7 +2,7 @@ function [varargout] = interpos_nan(var1, var2, var3, varargin);
 %
 % see help interpos for details
 %
-% pre-exclude NaNs from either xin or yin before calling interpos
+% pre-exclude non-finite values from either xin or yin before calling interpos
 %
 nverbose = 1; % warnings
 %
@@ -18,35 +18,17 @@ else
     yin = var2;
     kopt_provided = 0;
   end
-  if nverbose >= 1 && (any(isnan(xin)) || any(isnan(yin))), warning('NaNs removed by interpos_nan'); end
+  if nverbose >= 1 && (any(~isfinite(xin)) || any(~isfinite(yin))), warning('NaNs removed by interpos_nan'); end
 end
 
-ij = find(~isnan(xin) & ~isnan(yin));
+ij = find(isfinite(xin) & isfinite(yin));
 if ~isempty(ij)
   xin_eff = xin(ij);
   yin_eff = yin(ij);
   if kopt_provided == 1
-    switch nargout
-      case 1
-        [varargout{1}] = interpos(var1, xin_eff, yin_eff, varargin{:});
-      case 2
-        [varargout{1},varargout{2}] = interpos(var1, xin_eff, yin_eff, varargin{:});
-      case 3
-        [varargout{1},varargout{2},varargout{3}] = interpos(var1, xin_eff, yin_eff, varargin{:});
-      otherwise
-        [varargout{1},varargout{2},varargout{3},varargout{4}] = interpos(var1, xin_eff, yin_eff, varargin{:});
-    end
+    [varargout{1:nargout}] = interpos(var1, xin_eff, yin_eff, varargin{:});
   else
-    switch nargout
-      case 1
-        [varargout{1}] = interpos(xin_eff, yin_eff, var3, varargin{:});
-      case 2
-        [varargout{1},varargout{2}] = interpos(xin_eff, yin_eff, var3, varargin{:});
-      case 3
-        [varargout{1},varargout{2},varargout{3}] = interpos(xin_eff, yin_eff, var3, varargin{:});
-      otherwise
-        [varargout{1},varargout{2},varargout{3},varargout{4}] = interpos(xin_eff, yin_eff, var3, varargin{:});
-    end
+    [varargout{1:nargout}] = interpos(xin_eff, yin_eff, var3, varargin{:});
   end
 else
   if nargout > 0
diff --git a/matlab/tests/test_requestnames.m b/matlab/tests/test_requestnames.m
index b8fae2bb9ccac94caaa5ce578c70c194bca90eeb..b37be7905a8ece0d820a0a1309424de60ee4909d 100644
--- a/matlab/tests/test_requestnames.m
+++ b/matlab/tests/test_requestnames.m
@@ -37,7 +37,7 @@ classdef (SharedTestFixtures={...
           shot = 81102;
           gdat_call = sprintf(['gdat_' lower(testCase.Machine) '(%s,''%s'')'],shot,request);
         case {'mpx', 'xte'}
-          % need a older shot
+          % need an older shot
           shot = 65555;
           gdat_call = sprintf(['gdat_' lower(testCase.Machine) '(%s,''%s'')'],shot,request);
       end