diff -r -c gnucash-2.5.3/src/libqof/qof/gnc-date.c gnucash-2.5.3_fixed/src/libqof/qof/gnc-date.c
*** gnucash-2.5.3/src/libqof/qof/gnc-date.c	2013-07-07 10:50:46.000000000 +1000
--- gnucash-2.5.3_fixed/src/libqof/qof/gnc-date.c	2013-07-14 18:12:56.000000000 +1000
***************
*** 302,307 ****
--- 302,311 ----
  struct tm*
  gnc_localtime_r (const time64 *secs, struct tm* time)
  {
+ #ifdef __FreeBSD__
+     int daylight = 0;
+     GTimeSpan timezone = 0;
+ #endif
       guint index = 0;
       GDateTime *gdt = gnc_g_date_time_new_from_unix_local (*secs);
       g_return_val_if_fail (gdt != NULL, NULL);
diff -r -c gnucash-2.5.3/src/libqof/qof/test/test-gnc-date.c gnucash-2.5.3_fixed/src/libqof/qof/test/test-gnc-date.c
*** gnucash-2.5.3/src/libqof/qof/test/test-gnc-date.c	2013-07-07 10:50:46.000000000 +1000
--- gnucash-2.5.3_fixed/src/libqof/qof/test/test-gnc-date.c	2013-07-14 18:12:56.000000000 +1000
***************
*** 93,99 ****
--- 93,101 ----
  	else
  	    g_assert_cmpint (time->tm_isdst, ==, 0);
  #ifdef HAVE_STRUCT_TM_GMTOFF
+ #ifndef __FreeBSD__
  	g_assert_cmpint (time->tm_gmtoff, ==, - timezone);
+ #endif
  	g_assert_cmpint (time->tm_gmtoff, ==,
  	    g_date_time_get_utc_offset (gdt) / G_TIME_SPAN_SECOND);
  #endif
