Data Logging Stops After Losing GPS Signal

if ( sentences == 0)
{
digitalWrite(GPSOff, LOW);
delay(300);
digitalWrite(GPSOff,HIGH);
delay(300);
digitalWrite(GPSOn,LOW);
}

else
{
  digitalWrite(GPSOn,HIGH);
}

if (dataFile)
  {
    
    //Writing Data to SD Card
    dataFile.print(timer/1000);
    dataFile.print(',');
    
    dataFile.print(durationHigh);
    dataFile.print(',');
    
    dataFile.print(durationLow);
    dataFile.print(',');
    
    dataFile.print(xv);
    dataFile.print(" , ");
  
    dataFile.print(yv);
    dataFile.print(" , ");
  
    dataFile.print(zv);
    dataFile.print(" , ");
    
    dataFile.print(angle_x);
    dataFile.print(" , ");
  
    dataFile.print(angle_y);
    dataFile.print(" , ");
  
    dataFile.print(angle_z);
    dataFile.print(",");
    
    
    dataFile.print(FanTemp*0.484375-1.6875);
    dataFile.print(',');
    
    dataFile.println(AirTemp*0.484375-1.6875);
    dataFile.close();

    GPSFile.print(monthdata  );
    GPSFile.print(daydata  );
    GPSFile.print(hourdata  );
    GPSFile.print(mindata  );
    GPSFile.print(secdata  );
    GPSFile.print(",");
    
    GPSFile.print(latitude);
    GPSFile.print(",");
    
    GPSFile.print(longitude);
    GPSFile.print(",");
    
    GPSFile.println(vel);
    
    GPSFile.close();