diff --git a/Transceiver52M/Transceiver.cpp b/Transceiver52M/Transceiver.cpp
index d32967e..4616fea 100644
--- a/Transceiver52M/Transceiver.cpp
+++ b/Transceiver52M/Transceiver.cpp
@@ -533,18 +533,6 @@
   }
 }
 
-/*
- * Demodulate GMSK by direct rotation and soft slicing.
- */
-SoftVector *Transceiver::demodulate(signalVector &burst, complex amp,
-                                    float toa, CorrType type)
-{
-  if (type == EDGE)
-	  return demodEdgeBurst(burst, mSPSRx, amp, toa);
-
-  return demodGmskBurst(burst, mSPSRx, amp, toa);
-}
-
 void writeToFile(radioVector *radio_burst, size_t chan)
 {
   GSM::Time time = radio_burst->getTime();
@@ -656,7 +644,7 @@
 
   timingOffset = toa;
 
-  bits = demodulate(*burst, amp, toa, type);
+  bits = demodAnyBurst(*burst, mSPSRx, amp, toa, type);
 
   delete radio_burst;
   return bits;
diff --git a/Transceiver52M/Transceiver.h b/Transceiver52M/Transceiver.h
index 3c70e5c..6f9cb92 100644
--- a/Transceiver52M/Transceiver.h
+++ b/Transceiver52M/Transceiver.h
@@ -202,10 +202,6 @@
   /** send messages over the clock socket */
   void writeClockInterface(void);
 
-  /** Demodulate burst and output soft bits */
-  SoftVector *demodulate(signalVector &burst,
-                         complex amp, float toa, CorrType type);
-
   int mSPSTx;                          ///< number of samples per Tx symbol
   int mSPSRx;                          ///< number of samples per Rx symbol
   size_t mChans;
diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp
index d57f8b4..467a203 100644
--- a/Transceiver52M/sigProcLib.cpp
+++ b/Transceiver52M/sigProcLib.cpp
@@ -2137,6 +2137,15 @@
   return bits;
 }
 
+SoftVector *demodAnyBurst(signalVector &burst, int sps, complex amp,
+                          float toa, CorrType type)
+{
+  if (type == EDGE)
+    return demodEdgeBurst(burst, sps, amp, toa);
+  else
+    return demodGmskBurst(burst, sps, amp, toa);
+}
+
 bool sigProcLibSetup()
 {
   initTrigTables();
diff --git a/Transceiver52M/sigProcLib.h b/Transceiver52M/sigProcLib.h
index da009a5..a10d551 100644
--- a/Transceiver52M/sigProcLib.h
+++ b/Transceiver52M/sigProcLib.h
@@ -325,4 +325,8 @@
 SoftVector *demodEdgeBurst(signalVector &rxBurst, int sps,
                            complex channel, float TOA);
 
+/** Demodulate burst basde on type and output soft bits */
+SoftVector *demodAnyBurst(signalVector &burst, int sps,
+                          complex amp, float toa, CorrType type);
+
 #endif /* SIGPROCLIB_H */
