--- bootstrap.inc.orig	2005-04-05 21:00:24.000000000 +0200
+++ bootstrap.inc	2005-07-14 15:46:27.719284856 +0200
@@ -630,8 +630,15 @@
  * As a side effect, this function clears the message queue.
  */
 function drupal_get_messages() {
-  $messages = drupal_set_message();
-  $_SESSION['messages'] = array();
+  if (version_compare(phpversion(), '5.0') < 0) {
+    $messages = drupal_set_message();
+    $_SESSION['messages'] = array();
+  }
+  else {
+    $temp =& drupal_set_message();  // Get reference to $_SESSION['messages']
+    $messages = $temp;  // "Copy" by value (new variable not by reference)
+    $temp = array();  // Empty out referenced $_SESSION['messages'] superglobal
+  }
 
   return $messages;
 }
