diff --git a/CEP/BB/BBSKernel/include/BBSKernel/Expr/MIM.h b/CEP/BB/BBSKernel/include/BBSKernel/Expr/MIM.h
index 29340a38c5cc67a4f075ae9eb89fcc1c38d3d7a6..a4c83083e1472a11897cdc8ec35e5d26792a39e4 100644
--- a/CEP/BB/BBSKernel/include/BBSKernel/Expr/MIM.h
+++ b/CEP/BB/BBSKernel/include/BBSKernel/Expr/MIM.h
@@ -58,7 +58,7 @@ private:
         Matrix &out_22);
 
     double calculate_mim_function(const vector<double> &parms, double x,
-        double y, double z, double alpha, double freq, double ref_x,
+        double y, double z, double alpha, double ref_x,
         double ref_y, double ref_z);
 
 #ifdef EXPR_GRAPH
diff --git a/CEP/BB/BBSKernel/src/Expr/MIM.cc b/CEP/BB/BBSKernel/src/Expr/MIM.cc
index f067308def2e2fedc43c27fbd46ac63a26154449..16278785ba492ac293c659c9f87b322c580b0ab8 100644
--- a/CEP/BB/BBSKernel/src/Expr/MIM.cc
+++ b/CEP/BB/BBSKernel/src/Expr/MIM.cc
@@ -161,18 +161,18 @@ void MIM::evaluate(const Request &request, const Matrix &in_x,
         double refy=in_refy.getDouble(0,t);
         double refz=in_refz.getDouble(0,t);
         double alpha=in_alpha.getDouble(0,t);
+	double tec = calculate_mim_function(parms, x, y, z, alpha, refx,
+					    refy, refz);
 
         for(size_t f = 0; f < nChannels; ++f)
         {
             const double freq = freqAxis->center(f);
-            
-            phase = calculate_mim_function(parms, x, y, z, alpha, freq, refx,
-                refy, refz);
-                
-            *E11_re=std::sin(phase);
-            *E22_re=std::sin(phase);
-            *E11_im=std::cos(phase);
-            *E22_im=std::cos(phase);
+            //convert tec-value to freq. dependent phase
+	    phase =(75e8/freq)*tec; 
+            *E11_re=std::cos(phase);
+            *E22_re=std::cos(phase);
+            *E11_im=std::sin(phase);
+            *E22_im=std::sin(phase);
             
             ++E11_re; ++E22_re; ++E11_im; ++E22_im;
         }
@@ -180,7 +180,7 @@ void MIM::evaluate(const Request &request, const Matrix &in_x,
 }
 
 double MIM::calculate_mim_function(const vector<double> &parms, double x,
-    double y, double z, double alpha, double freq, double ref_x, double ref_y,
+    double y, double z, double alpha, double ref_x, double ref_y,
     double ref_z)
 {
     //dummy
@@ -189,9 +189,9 @@ double MIM::calculate_mim_function(const vector<double> &parms, double x,
     double lat = std::atan2(ref_z, std::sqrt(ref_x*ref_x + ref_y*ref_y));
     double rot_x = -1*std::sin(lon)*x+std::cos(lon)*y;
     double rot_y = -1*std::sin(lat)*std::cos(lon)*x-std::sin(lat)*std::sin(lon)
-        *y+std::cos(lat)*z;
+      *y+std::cos(lat)*z;
 
-    return (75e8/freq)*(parms[0]*rot_x/1000.+parms[1]*rot_y/1000.)
+    return (parms[0]*rot_x/1000.+parms[1]*rot_y/1000.)
         /std::cos(alpha);
 }