--- /dev/null
+diff -Nur xfce4-diskperf-plugin-2.0/panel-plugin/main.c xfce4-diskperf-plugin-2.0.new/panel-plugin/main.c
+--- xfce4-diskperf-plugin-2.0/panel-plugin/main.c 2005-10-11 22:18:15.000000000 +0300
++++ xfce4-diskperf-plugin-2.0.new/panel-plugin/main.c 2006-10-07 10:15:34.000000000 +0300
+@@ -141,6 +141,8 @@
+
+ /**************************************************************/
+
++static int timerNeedsUpdate = 0;
++
+ static int DisplayPerf (struct diskperf_t *p_poPlugin)
+ /* Get the last disk perfomance data, compute the statistics and update
+ the panel-docked monitor bars */
+@@ -273,6 +275,12 @@
+
+ DisplayPerf (poPlugin);
+
++ if (timerNeedsUpdate) {
++ g_source_remove (poPlugin->iTimerId);
++ poPlugin->iTimerId = 0;
++ timerNeedsUpdate = 0;
++ }
++
+ if (!poPlugin->iTimerId)
+ poPlugin->iTimerId = g_timeout_add (poConf->iPeriod_ms,
+ (GSourceFunc) SetTimer, poPlugin);
+@@ -773,6 +781,7 @@
+ struct param_t *poConf = &(poPlugin->oConf.oParam);
+ float r;
+
++ timerNeedsUpdate = 1;
+ TRACE ("SetPeriod()\n");
+ r = gtk_spin_button_get_value (GTK_SPIN_BUTTON (p_wSc));
+ poConf->iPeriod_ms = (r * 1000) + 0.5; /* rounded */
+@@ -1096,8 +1105,6 @@
+ {
+ diskperf_t *diskperf = diskperf_create_control (plugin);
+
+- diskperf_read_config (plugin, diskperf);
+-
+ g_signal_connect (plugin, "free-data", G_CALLBACK (diskperf_free),
+ diskperf);
+
+@@ -1120,7 +1127,9 @@
+ gtk_container_add (GTK_CONTAINER (plugin), diskperf->oMonitor.wEventBox);
+
+ CreateMonitorBars (diskperf, xfce_panel_plugin_get_orientation (plugin));
+-
++
++ diskperf_read_config (plugin, diskperf);
++ DevPerfInit();
+ SetTimer (diskperf);
+ }
+