diff --git a/audio/audio.c b/audio/audio.c
index 79d8b20..f24215b 100644
--- a/audio/audio.c
+++ b/audio/audio.c
@@ -54,7 +54,7 @@
     struct fixed_settings fixed_out;
     struct fixed_settings fixed_in;
     union {
-        int hz;
+        int hertz;
         int64_t ticks;
     } period;
     int plive;
@@ -1520,7 +1520,7 @@
      "Number of voices for ADC", NULL, 0},
 
     /* Misc */
-    {"TIMER_PERIOD", AUD_OPT_INT, &conf.period.hz,
+    {"TIMER_PERIOD", AUD_OPT_INT, &conf.period.hertz,
      "Timer period in HZ (0 - use lowest possible)", NULL, 0},
 
     {"PLIVE", AUD_OPT_BOOL, &conf.plive,
@@ -1781,16 +1781,16 @@
     if (done) {
         VMChangeStateEntry *e;
 
-        if (conf.period.hz <= 0) {
-            if (conf.period.hz < 0) {
+        if (conf.period.hertz <= 0) {
+            if (conf.period.hertz < 0) {
                 dolog ("warning: Timer period is negative - %d "
                        "treating as zero\n",
-                       conf.period.hz);
+                       conf.period.hertz);
             }
             conf.period.ticks = 1;
         }
         else {
-            conf.period.ticks = ticks_per_sec / conf.period.hz;
+            conf.period.ticks = ticks_per_sec / conf.period.hertz;
         }
 
         e = qemu_add_vm_change_state_handler (audio_vm_change_state_handler, s);
