     _syncPeaksCyclic[_syncHead] = _getNextAudioPeak(-1);
     _syncHead = (_syncHead + 1) % SYNC_PEAKS;
   }
-  
+
   // byte-decode loop
   unsigned char b;
   while ((b = _getNextByte()) != 0) {
     // remove redundant sync bytes
-    if ((0xA5 == b) || (0x5A == b)) {
+    if (0xA5 == b) {
       continue;
     }
     AndroidMessage[_byte_pos++] = (char)b;

  // so don't use those in your messages!
  _byte_pos = 0;
  memset(AndroidMessage, 0, sizeof(AndroidMessage));
  
  // lock on sync (0xa5)
  for (int i=0; i < sizeof(_syncPeaksCyclic) / sizeof(int); ++i) {
    _syncPeaksCyclic[i] = _getNextAudioPeak(-1);

  // until there's no next peak for MESSAGE_TIMEOUT samples after last data peak
  int ref_sig_val, value_sig_val;
  char b=0;

  // bit-decode loop
  for (int bitpos=0; bitpos < 8; ++bitpos) {
    ref_sig_val = _getNextAudioPeak(MESSAGE_TIMEOUT);
