diff --git a/src/FiniteDifference/FD_simple.hpp b/src/FiniteDifference/FD_simple.hpp
index a47e7a7777efd919d124366c52355e0c1076a4da..7b00267ff05cc3c57dbf6043072fb55a7c28969c 100644
--- a/src/FiniteDifference/FD_simple.hpp
+++ b/src/FiniteDifference/FD_simple.hpp
@@ -18,7 +18,7 @@
  * @return Forward finite difference for the property under index Field on the current node with index key.
  */
 template <size_t Field, typename gridtype, typename keytype>
-double FD_forward(gridtype & grid, keytype & key, size_t d)
+auto FD_forward(gridtype & grid, keytype & key, size_t d)
 {
 	return (grid.template get<Field> (key.move(d, 1)) - grid.template get<Field> (key)) / grid.getSpacing()[d];
 }
@@ -33,7 +33,7 @@ double FD_forward(gridtype & grid, keytype & key, size_t d)
  * @return Backward finite difference for the property under index Field on the current node with index key.
  */
 template <size_t Field, typename gridtype, typename keytype>
-double FD_backward(gridtype & grid, keytype & key, size_t d)
+auto FD_backward(gridtype & grid, keytype & key, size_t d)
 {
 	return (grid.template get<Field> (key) - grid.template get<Field> (key.move(d, -1))) / grid.getSpacing()[d];
 }
@@ -50,7 +50,7 @@ double FD_backward(gridtype & grid, keytype & key, size_t d)
  * @return Partial central finite difference for dimension d of Field on the current node with index key.
  */
 template <size_t Field, typename gridtype, typename keytype>
-double FD_central(gridtype & grid, keytype & key, size_t d)
+auto FD_central(gridtype & grid, keytype & key, size_t d)
 {
 	return (grid.template get<Field>(key.move(d, 1))
 			- grid.template get<Field>(key.move(d, -1)))