diff --git a/src/ao_private.h b/src/ao_private.h
index 1bada63a9cff7ebaad1b8ee43b36761d314f0f78..b26e72dcce09e1610849148163b3ab895bfbc6d2 100644
--- a/src/ao_private.h
+++ b/src/ao_private.h
@@ -58,7 +58,6 @@
 
 typedef struct ao_config {
 	char *default_driver;
-	int default_driver_id;
 } ao_config;
 
 /* --- Functions --- */
diff --git a/src/audio_out.c b/src/audio_out.c
index 0ce028e8280d7402fea6b10de771e20d73adb37f..661724a701baf1230c4b8b04867de3b93c6d7d3e 100644
--- a/src/audio_out.c
+++ b/src/audio_out.c
@@ -71,7 +71,6 @@ ao_functions *static_drivers[] = {
 driver_list *driver_head = NULL;
 ao_config config = {
 	NULL, /* default_driver */
-	-1,   /* default_driver_id */
 };
 
 ao_info **info_table = NULL;
@@ -85,7 +84,6 @@ void _clear_config()
 {
 	free(config.default_driver);
 	config.default_driver = NULL;
-	config.default_driver_id = -1;
 }
 
 
@@ -506,10 +504,6 @@ void ao_initialize(void)
 		_append_dynamic_drivers(end);
 	}
 
-	/* Find the default driver in the list of loaded drivers */
-	config.default_driver_id = 
-	  _find_default_driver_id(config.default_driver);
-
 	/* Create the table of driver info structs */
 	info_table = _make_info_table(driver_head, &driver_count);
 }
@@ -680,7 +674,9 @@ int ao_driver_id(const char *short_name)
 
 int ao_default_driver_id ()
 {
-	return config.default_driver_id;
+	/* Find the default driver in the list of loaded drivers */
+  
+	return _find_default_driver_id(config.default_driver);
 }