diff --git a/tests/expected/time/localtime.stdout b/tests/expected/time/localtime.stdout
index e79e0fb873aa1f6d53f72a3c9b0227940d1617a8..a3807007d24d9ca041ab14906202ddd5900c6aa0 100644
--- a/tests/expected/time/localtime.stdout
+++ b/tests/expected/time/localtime.stdout
@@ -6,3 +6,4 @@ Year 70, Day of year: 0, Month 0, Day of month: 1, Day of week: 4, 0:0:0
 Year 70, Day of year: 0, Month 0, Day of month: 1, Day of week: 4, 0:0:1
 Year 118, Day of year: 193, Month 6, Day of month: 13, Day of week: 5, 4:9:10
 Fri Jul 13 06:03:43 2018
+Fri Jul 13 06:03:43 2018
diff --git a/tests/time/localtime.c b/tests/time/localtime.c
index df8d2d550f7b4f659f036484679b964e61425583..fd7af735ce1365c07969fc9e585cf0360ec34cdd 100644
--- a/tests/time/localtime.c
+++ b/tests/time/localtime.c
@@ -17,4 +17,15 @@ int main(void) {
 
     time_t input = 1531461823;
     fputs(ctime(&input), stdout); // Omit newline
+
+    char ctime_r_buffer[26];
+    /* ctime_r() generally returns the address of the provided buffer,
+     * but may return NULL upon error according to the spec. */
+    char *ctime_r_result = ctime_r(&input, ctime_r_buffer);
+    if (ctime_r_result == ctime_r_buffer) {
+        fputs(ctime_r_result, stdout);
+    }
+    else {
+        printf("Unexpected pointer from ctime_r: %p\n", ctime_r_result);
+    }
 }