diff --git a/common/new.cc b/common/new.cc
index ed12449cd6fa26da326554519d594cf550e93524..1b1c43a2d25fc7a474d972451535442fb16bb2d1 100644
--- a/common/new.cc
+++ b/common/new.cc
@@ -13,17 +13,18 @@
  ******************************************************************************/
 #include "dbgnew.hh"
 #include <stddef.h>
+#include <new>
 
 #undef new
 
 static void *dummy = NULL;
 
-void *operator new(size_t size) throw ()
+void *operator new(size_t size) throw (std::bad_alloc)
 {
     return Malloc(size);
 }
 
-void *operator new[](size_t size) throw ()
+void *operator new[](size_t size) throw (std::bad_alloc)
 {
     if (size == 0) return &dummy;
     else return Malloc(size);