diff --git a/lib/receiver/receiver_impl.cc b/lib/receiver/receiver_impl.cc
index f1382ed..a6f1a16 100644
--- a/lib/receiver/receiver_impl.cc
+++ b/lib/receiver/receiver_impl.cc
@@ -53,22 +53,21 @@
 typedef boost::circular_buffer<float> circular_buffer_float;
 
 receiver::sptr
-receiver::make(feval_dd * tuner, int osr, int arfcn)
+receiver::make(int osr, int arfcn)
 {
     return gnuradio::get_initial_sptr
-           (new receiver_impl(tuner, osr, arfcn));
+           (new receiver_impl(osr, arfcn));
 }
 
 /*
  * The private constructor
  */
-receiver_impl::receiver_impl(feval_dd * tuner, int osr, int arfcn)
+receiver_impl::receiver_impl(int osr, int arfcn)
     : gr::sync_block("receiver",
                 gr::io_signature::make(1, 1, sizeof(gr_complex)),
                 gr::io_signature::make(0, 0, 0)),
     d_OSR(osr),
     d_chan_imp_length(CHAN_IMP_RESP_LENGTH),
-    d_tuner(tuner),
     d_counter(0),
     d_fcch_start_pos(0),
     d_freq_offset_setting(0),
@@ -477,11 +476,6 @@
     return freq_offset;
 }
 
-void receiver_impl::set_frequency(double freq_offset)
-{
-    d_tuner->calleval(freq_offset);
-}
-
 inline float receiver_impl::compute_phase_diff(gr_complex val1, gr_complex val2)
 {
     gr_complex conjprod = val1 * conj(val2);
diff --git a/lib/receiver/receiver_impl.h b/lib/receiver/receiver_impl.h
index de0042d..6657e3d 100644
--- a/lib/receiver/receiver_impl.h
+++ b/lib/receiver/receiver_impl.h
@@ -45,8 +45,6 @@
         gr_complex d_sch_training_seq[N_SYNC_BITS]; ///<encoded training sequence of a SCH burst
         gr_complex d_norm_training_seq[TRAIN_SEQ_NUM][N_TRAIN_BITS]; ///<encoded training sequences of a normal bursts and dummy bursts
 
-        feval_dd *d_tuner; ///<callback to a python object which is used for frequency tunning
-
         /** Counts samples consumed by the receiver
          *
          * It is used in beetween find_fcch_burst and reach_sch_burst calls.
@@ -104,12 +102,6 @@
          */
         double compute_freq_offset(const gr_complex * input, unsigned first_sample, unsigned last_sample);
 
-        /** Calls d_tuner's method to set frequency offset from Python level
-         *
-         * @param freq_offset absolute frequency offset of the received signal
-         */
-        void set_frequency(double freq_offset);
-
         /** Computes angle between two complex numbers
          *
          * @param val1 first complex number
@@ -202,7 +194,7 @@
 
         
      public:
-       receiver_impl(feval_dd * tuner, int osr, int arfcn);
+       receiver_impl(int osr, int arfcn);
       ~receiver_impl();
       
       int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items);
