diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index 0728aaf8cfcc5eb10cbea38603511b1067a17da1..0be9f92faf4acef3bc04ff327d04df8a0ecd0b4c 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -637,8 +637,9 @@ function drupal_set_message($message = NULL, $type = 'status') {
  * As a side effect, this function clears the message queue.
  */
 function drupal_get_messages() {
-  $messages = drupal_set_message();
-  unset($_SESSION['messages']);
+  if ($messages = drupal_set_message()) {
+    unset($_SESSION['messages']);
+  }
 
   return $messages;
 }