diff --git a/hysop/backend/device/codegen/symbolic/map.py b/hysop/backend/device/codegen/symbolic/map.py
index af8d9e157730c1b617717aec41d77e04e6f37aaa..ab087c5372bde5e8c509d2a6b5d54c63736a6486 100644
--- a/hysop/backend/device/codegen/symbolic/map.py
+++ b/hysop/backend/device/codegen/symbolic/map.py
@@ -120,8 +120,6 @@ def _map_func(csc, expr, promoted_args, ctype, reqs):
         else:
             msg='min({})'.format(ctype)
             raise NotImplementedError(msg)
-    elif expr.func is sm.exp:
-        return BuiltinFunction('exp')
     elif expr.func in _func_mappings:
         return _func_mappings[expr.func]
     return expr.func
@@ -175,6 +173,7 @@ _func_mappings = {
     sm.tanh: BuiltinFunction('tanh'),
     sm.exp:  BuiltinFunction('exp'),
     sm.log:  BuiltinFunction('log'),
+    sm.sign: BuiltinFunction('sign'),
     sm.StrictGreaterThan: OpenClLogicalGT,
     sm.StrictLessThan:    OpenClLogicalLT,
     sm.GreaterThan:       OpenClLogicalGE,