diff --git a/modules/base/pymod/table.py b/modules/base/pymod/table.py
index 45e4b61541f197491c9140dc331efc207861cf8a..65c9eba436df55f839ca2029831806c7b0315f1a 100644
--- a/modules/base/pymod/table.py
+++ b/modules/base/pymod/table.py
@@ -821,10 +821,10 @@ Statistics for column %(col)s
 
 
   def _EvaluateEqualNone(self, lhs, rhs):
-    return (lhs==None or lhs==float('NaN')) == (rhs==None or rhs==float('NaN'))
+    return (lhs==None or lhs!=lhs) == (rhs==None or rhs!=rhs)
  
   def _EvaluateNonEqualNone(self, lhs, rhs):
-    return (lhs==None or lhs==float('NaN')) != (rhs==None or rhs==float('NaN'))
+    return (lhs==None or lhs!=lhs) != (rhs==None or rhs!=rhs)
  
   def _EvaluateAnd(self, lhs, rhs):
     return lhs and rhs
@@ -851,22 +851,22 @@ Statistics for column %(col)s
     return lhs>=rhs
 
   def _EvaluateAdd(self, lhs, rhs):
-    if lhs==None or lhs==float('NaN') or rhs==None or rhs==float('NaN'):
+    if lhs==None or lhs!=lhs or rhs==None or rhs!=rhs:
       return None
     return lhs+rhs
 
   def _EvaluateSubtract(self, lhs, rhs):
-    if lhs==None or lhs==float('NaN') or rhs==None or rhs==float('NaN'):
+    if lhs==None or lhs!=lhs or rhs==None or rhs!=rhs:
       return None
     return lhs-rhs
 
   def _EvaluateMultiply(self, lhs, rhs):
-    if lhs==None or lhs==float('NaN') or rhs==None or rhs==float('NaN'):
+    if lhs==None or lhs!=lhs or rhs==None or rhs!=rhs:
       return None
     return lhs*rhs
 
   def _EvaluateDivide(self, lhs, rhs):
-    if lhs==None or lhs==float('NaN') or rhs==None or rhs==float('NaN'):
+    if lhs==None or lhs!=lhs or rhs==None or rhs!=rhs:
       return None
     return lhs/rhs
 
@@ -881,7 +881,7 @@ Statistics for column %(col)s
       return self._EvaluateDivide(lhs, rhs)
     elif op=='*':
       return self._EvaluateMultiply(lhs, rhs)
-    elif lhs==None or lhs==float('NaN') or rhs==None or rhs==float('NaN'):
+    elif lhs==None or lhs!=lhs or rhs==None or rhs!=rhs:
       if op=='=':
         return self._EvaluateEqualNone(lhs,rhs)
       elif op=='!=':