diff --git a/FunctionSpace/LocalFunctionSpace.cpp b/FunctionSpace/LocalFunctionSpace.cpp
index d928b1ba6765b9ff0f8779b62b3314840730eab2..014ffc4b76e9a78f1a2bb09c86bbd12ebead9b09 100644
--- a/FunctionSpace/LocalFunctionSpace.cpp
+++ b/FunctionSpace/LocalFunctionSpace.cpp
@@ -12,11 +12,11 @@ LocalFunctionSpace::~LocalFunctionSpace(void){
 void LocalFunctionSpace::selectTransform(int form){
   switch(form){
   case 0:
-    transform = jac::map;
+    transform = LocalFunctionSpace::form0;
     break;
 
   case 1:
-    transform = jac::grad;
+    transform = LocalFunctionSpace::form1;
     break;
 
   case 2:
@@ -28,7 +28,7 @@ void LocalFunctionSpace::selectTransform(int form){
     break;
  
   default:
-    throw Exception ("Unknow %d-form", from);
+    throw Exception ("Unknow %d-form", form);
     break;
   }
 }
diff --git a/FunctionSpace/LocalFunctionSpace.h b/FunctionSpace/LocalFunctionSpace.h
index dce88faa1cb74fc4ac023f1fb612dee61f4ffb78..38b6fc0495d53823728b3dc891bbb8508040b3e2 100644
--- a/FunctionSpace/LocalFunctionSpace.h
+++ b/FunctionSpace/LocalFunctionSpace.h
@@ -25,7 +25,10 @@ class LocalFunctionSpace{
   int       type;
 
   Jacobian* jac;
-  JacMethod transform;
+  fullVector<double> (*transform)(const Jacobian&, 
+				  double, 
+				  double, 
+				  double);
 
  public:
   //! Deletes this LocalFunctionSpace
@@ -61,7 +64,24 @@ class LocalFunctionSpace{
   //! @param form The @em type of the Basis used
   void selectTransform(int form);
 
-  
+  //! Mapping of 0-form
+  //! @param jac The Jacobian to use
+  //! @param u,v,w The @em reference coordinate to map
+  //! @return Returns The mapped coordinate in the @em physical space
+  static fullVector<double> form0(const Jacobian& jac, 
+				  double u, 
+				  double v, 
+				  double w);
+
+  //! Mapping of 1-form
+  //! @param jac The Jacobian to use
+  //! @param u,v,w The @em reference coordinate to map
+  //! @return Returns The mapped coordinate in the @em physical space
+  static fullVector<double> form1(const Jacobian& jac, 
+				  double u, 
+				  double v, 
+				  double w);
+
 };
 
 //////////////////////
@@ -79,4 +99,19 @@ inline int LocalFunctionSpace::getSize(void) const{
 inline int LocalFunctionSpace::getType(void) const{
   return type;
 }
+
+inline fullVector<double> LocalFunctionSpace::form0(const Jacobian& jac,
+						    double u,
+						    double v,
+						    double w){
+  return jac.map(u, v);
+}
+
+inline fullVector<double> LocalFunctionSpace::form1(const Jacobian& jac,
+						    double u,
+						    double v,
+						    double w){
+  return jac.grad(u, v);
+}
+
 #endif
diff --git a/FunctionSpace/LocalFunctionSpaceScalar.cpp b/FunctionSpace/LocalFunctionSpaceScalar.cpp
index 002980f246b13db6a04be2e890d0871e78e06d0e..873ac6136e260b86087609b39523848b3a43f00e 100644
--- a/FunctionSpace/LocalFunctionSpaceScalar.cpp
+++ b/FunctionSpace/LocalFunctionSpaceScalar.cpp
@@ -10,7 +10,10 @@ LocalFunctionSpaceScalar::LocalFunctionSpaceScalar(const Basis& basis){
 
   this->scalar = true;
   this->size   = b.getSize();
+  this->type   = b.getType(); 
   this->basis  = &(b.getBasis());
+
+  selectTransform(type);
 }
 
 LocalFunctionSpaceScalar::~LocalFunctionSpaceScalar(void){