-               // Second set of registers store the current date
-               TWI_ReceiveByte(&CurrentRegValues.Byte4.IntVal, false);
-               TWI_ReceiveByte(&CurrentRegValues.Byte5.IntVal, false);
-               TWI_ReceiveByte(&CurrentRegValues.Byte6.IntVal, false);
-               TWI_ReceiveByte(&CurrentRegValues.Byte7.IntVal, true);
-               
-               TWI_StopTransmission();
+       // Read in the stored Time and Date from the DS1307
+       if (TWI_ReadPacket(DS1307_ADDRESS, 10, &ReadAddress, sizeof(ReadAddress),
+                          (uint8_t*)&CurrentRegValues, sizeof(DS1307_DateTimeRegs_t)) != TWI_ERROR_NoError)
+       {
+               return false;