     if (network_status == 1 || network_status == 5) break;
     delay(250);
   }
+  // Sometimes the FONA can't recieve SMSs until it sends one first.
+  fonaSendStatusSMS(MY_PHONE_NUMBER);
   Serial.println(F(" done."));
 
   // Attach the RI interrupt

        if (strcmp(sms_buffer, "Location") == 0) {
          Serial.print(F("  Responding with location..."));

          char sms_response[52];

          if (current_location.isValid) {
            sprintf (sms_response, "https://maps.google.com?q=%s,%s", current_location.latitude_c, current_location.longitude_c);
          } else {
            sprintf (sms_response, "I'm lost!");
          }

          // reply...
          if (fona.sendSMS(MY_PHONE_NUMBER, sms_response)) {
            Serial.println(F(" sent."));
          } else {
            Serial.println(F(" failed!"));


  // Start the FONA
  Serial.print(F("Initializing FONA..."));
  while (1) {
    boolean fonaStarted = fona.begin(4800);
    if (fonaStarted) break;
    delay (1000);
  }
  Serial.println(F(" done."));
