diff --git a/Transceiver52M/sigProcLib.cpp b/Transceiver52M/sigProcLib.cpp
index 072fb3b..28c4ded 100644
--- a/Transceiver52M/sigProcLib.cpp
+++ b/Transceiver52M/sigProcLib.cpp
@@ -1602,18 +1602,22 @@
  *   tail: Search 8 symbols + maximum expected delay
  */
 static int detectRACHBurst(const signalVector &burst, float threshold, int sps,
-                           complex &amplitude, float &toa, unsigned max_toa)
+                           complex &amplitude, float &toa, unsigned max_toa, bool ext)
 {
   int rc, target, head, tail;
-  CorrelationSequence *sync;
+  int i, num_seq;
 
   target = 8 + 40;
   head = 8;
   tail = 8 + max_toa;
-  sync = gRACHSequences[0];
+  num_seq = ext ? 3 : 1;
 
-  rc = detectGeneralBurst(burst, threshold, sps, amplitude, toa,
-                          target, head, tail, sync);
+  for (i = 0; i < num_seq; i++) {
+    rc = detectGeneralBurst(burst, threshold, sps, amplitude, toa,
+                            target, head, tail, gRACHSequences[i]);
+    if (rc > 0)
+      break;
+  }
 
   return rc;
 }
@@ -1682,9 +1686,10 @@
     rc = analyzeTrafficBurst(burst, tsc, threshold, sps,
                              amp, toa, max_toa);
     break;
+  case EXT_RACH:
   case RACH:
     rc = detectRACHBurst(burst, threshold, sps, amp, toa,
-                         max_toa);
+                         max_toa, type == EXT_RACH);
     break;
   default:
     LOG(ERR) << "Invalid correlation type";
diff --git a/Transceiver52M/sigProcLib.h b/Transceiver52M/sigProcLib.h
index 9bc7e10..79a5c3f 100644
--- a/Transceiver52M/sigProcLib.h
+++ b/Transceiver52M/sigProcLib.h
@@ -29,6 +29,7 @@
 enum CorrType{
   OFF,         ///< timeslot is off
   TSC,         ///< timeslot should contain a normal burst
+  EXT_RACH,    ///< timeslot should contain an extended access burst
   RACH,        ///< timeslot should contain an access burst
   EDGE,        ///< timeslot should contain an EDGE burst
   IDLE         ///< timeslot is an idle (or dummy) burst
