diff --git a/cpu/native/periph/rtc.c b/cpu/native/periph/rtc.c
index ea6259ac78ba5e70b213b57b3ee7120d33f4b77d..1c8cb51261286ce6536db2023a962c2c5901b3a5 100644
--- a/cpu/native/periph/rtc.c
+++ b/cpu/native/periph/rtc.c
@@ -142,7 +142,7 @@ int rtc_set_alarm(struct tm *time, rtc_alarm_cb_t cb, void *arg)
         return -1;
     }
 
-    memcpy(&_native_rtc_alarm, time, sizeof(_native_rtc_alarm));
+    _native_rtc_alarm = *time;
 
     warnx("rtc_set_alarm: not implemented");
 
@@ -162,7 +162,7 @@ int rtc_get_alarm(struct tm *time)
         return -1;
     }
 
-    memcpy(time, &_native_rtc_alarm, sizeof(_native_rtc_alarm));
+    *time = _native_rtc_alarm;
 
     return 0;
 }