diff --git a/ginac/inifcns_trans.cpp b/ginac/inifcns_trans.cpp
index e30f573..ab47531 100644
--- a/ginac/inifcns_trans.cpp
+++ b/ginac/inifcns_trans.cpp
@@ -99,9 +99,15 @@ static ex exp_imag_part(const ex & x)
 	return exp(GiNaC::real_part(x))*sin(GiNaC::imag_part(x));
 }
 
+static ex exp_power(const ex & x, const ex & a)
+{
+	return exp(x*a);
+}
+
 REGISTER_FUNCTION(exp, eval_func(exp_eval).
                        evalf_func(exp_evalf).
                        derivative_func(exp_deriv).
+                       power_func(exp_power).
                        real_part_func(exp_real_part).
                        imag_part_func(exp_imag_part).
                        latex_name("\\exp"));
