diff --git a/src/plugins/select/bluegene/bgl_part_info.c b/src/plugins/select/bluegene/bgl_part_info.c
index 45a002c20e45d473678487ca7c9a267fce6cdd5e..b6e1e9da7cc154d5b904edc89a069fd480556a79 100644
--- a/src/plugins/select/bluegene/bgl_part_info.c
+++ b/src/plugins/select/bluegene/bgl_part_info.c
@@ -176,7 +176,16 @@ extern int update_partition_list()
 		bgl_record = find_bgl_record(name);
 		
 		if(bgl_record == NULL) {
-			error("Partition %s not found on bgl_list", name);
+			error("Partition %s not found in bgl_list "
+			      "removing from database", name);
+			term_jobs_on_part(name);
+			rc = rm_remove_partition(name);
+			if (rc != STATUS_OK) {
+				error("rm_remove_partition(%s): %s",
+				      name,
+				      bgl_err_str(rc));
+			} else
+				debug("done\n");
 			continue;
 		}