diff --git a/lib/receiver_impl.cc b/lib/receiver_impl.cc
index 2c2a0c3..bd3d3e4 100644
--- a/lib/receiver_impl.cc
+++ b/lib/receiver_impl.cc
@@ -124,7 +124,8 @@
         COUT("FCCH search");
         if (find_fcch_burst(input, ninput_items[0]))   //find frequency correction burst in the input buffer
         {
-            set_frequency(d_freq_offset);                //if fcch search is successful set frequency offset
+            //set_frequency(d_freq_offset);                //if fcch search is successful set frequency offset
+            COUT("Freq offset " << d_freq_offset);
             //produced_out = 0;
             d_state = next_fcch_search;
         }
@@ -143,7 +144,8 @@
         {
             if (abs(prev_freq_offset - d_freq_offset) > FCCH_MAX_FREQ_OFFSET)
             {
-                set_frequency(d_freq_offset);              //call set_frequncy only frequency offset change is greater than some value
+                //set_frequency(d_freq_offset);              //call set_frequncy only frequency offset change is greater than some value
+                COUT("Freq offset " << d_freq_offset);
             }
             //produced_out = 0;
             d_state = sch_search;
@@ -227,9 +229,9 @@
                 if (abs(mean_offset) > FCCH_MAX_FREQ_OFFSET)
                 {
                     d_freq_offset -= mean_offset;                                                 //and adjust frequency if it have changed beyond
-                    set_frequency(d_freq_offset);                                                 //some limit
-                    DCOUT("mean_offset: " << mean_offset);
-                    DCOUT("Adjusting frequency, new frequency offset: " << d_freq_offset << "\n");
+                    //set_frequency(d_freq_offset);                                                 //some limit
+                    COUT("mean_offset: " << mean_offset);
+                    COUT("Adjusting frequency, new frequency offset: " << d_freq_offset << "\n");
                 }
             }
         }
@@ -813,7 +815,7 @@
     //std::cout << "fn:" <<burst_nr.get_frame_nr() << " ts" << burst_nr.get_timeslot_nr() << " ";
     for(ii=0; ii<148; ii++)
     {
-        std::cout << std::setprecision(1) << static_cast<int>(burst_binary[ii]) << " ";
+        std::cout << std::setprecision(1) << static_cast<int>(burst_binary[ii]) << "";
     }
     std::cout << std::endl;
 }
