diff --git a/mboxd_msg.c b/mboxd_msg.c
index ea07a0d..cc23fe3 100644
--- a/mboxd_msg.c
+++ b/mboxd_msg.c
@@ -327,7 +327,7 @@
 				return rc;
 			}
 		}
-		close_current_window(context, NO_BMC_EVENT, FLAGS_NONE);
+		windows_close_current(context, NO_BMC_EVENT, FLAGS_NONE);
 	}
 
 	/* Offset the host has requested */
@@ -662,7 +662,7 @@
 		}
 
 		/* Host asked for it -> Don't set the BMC Event */
-		close_current_window(context, NO_BMC_EVENT, flags);
+		windows_close_current(context, NO_BMC_EVENT, flags);
 	}
 
 	return 0;
diff --git a/windows.c b/windows.c
index 2c3f48b..2ec8b9a 100644
--- a/windows.c
+++ b/windows.c
@@ -377,7 +377,7 @@
 }
 
 /*
- * close_current_window() - Close the current (active) window
+ * windows_close_current() - Close the current (active) window
  * @context:   		The mbox context pointer
  * @set_bmc_event:	Whether to set the bmc event bit
  * @flags:		Flags as defined for a close command in the protocol
@@ -388,7 +388,7 @@
  * without the host requesting it the bmc event bit must be set to indicate this
  * to the host (set_bmc_event == true).
  */
-void close_current_window(struct mbox_context *context, bool set_bmc_event,
+void windows_close_current(struct mbox_context *context, bool set_bmc_event,
 			  uint8_t flags)
 {
 	MSG_DBG("Close current window, flags: 0x%.2x\n", flags);
@@ -434,7 +434,7 @@
 	MSG_DBG("Resetting all windows\n");
 	/* We might have an open window which needs closing */
 	if (context->current) {
-		close_current_window(context, set_bmc_event, FLAGS_NONE);
+		windows_close_current(context, set_bmc_event, FLAGS_NONE);
 	}
 	for (i = 0; i < context->windows.num; i++) {
 		reset_window(context, &context->windows.window[i]);
diff --git a/windows.h b/windows.h
index 6fe100b..54147fb 100644
--- a/windows.h
+++ b/windows.h
@@ -21,7 +21,7 @@
 void windows_alloc_dirty_bytemap(struct mbox_context *context);
 int window_set_bytemap(struct mbox_context *context, struct window_context *cur,
 		       uint32_t offset, uint32_t size, uint8_t val);
-void close_current_window(struct mbox_context *context, bool set_bmc_event,
+void windows_close_current(struct mbox_context *context, bool set_bmc_event,
 			  uint8_t flags);
 void reset_window(struct mbox_context *context, struct window_context *window);
 void reset_all_windows(struct mbox_context *context, bool set_bmc_event);
