diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index b5d9fbd9d9c2b1ab8586123a8b68def70a51ee8f..5d05bbe287369c299a8a1ac3d94424c2c31579a0 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,9 @@
+2012-11-29  Kai Tietz  <ktietz@redhat.com>
+
+	PR target/55445
+	* libsupc++/eh_personaltity.cc (__SEH__): Additional check
+	for not being SjLj.
+
 2012-11-28  Andrew Pinski  <apinski@cavium.com>
 
 	PR bootstrap/54279
diff --git a/libstdc++-v3/libsupc++/eh_personality.cc b/libstdc++-v3/libsupc++/eh_personality.cc
index 2963c0c584a3f72fb9d9421adef6fcd5e0cbe94d..c339a3e4301d4b68e838085675459e4c8fb81b1b 100644
--- a/libstdc++-v3/libsupc++/eh_personality.cc
+++ b/libstdc++-v3/libsupc++/eh_personality.cc
@@ -332,13 +332,13 @@ namespace __cxxabiv1
 #ifdef _GLIBCXX_SJLJ_EXCEPTIONS
 #define PERSONALITY_FUNCTION	__gxx_personality_sj0
 #define __builtin_eh_return_data_regno(x) x
-#elif defined(__SEH__)
+#elif defined(__SEH__) && !defined (_GLIBCXX_SJLJ_EXCEPTIONS)
 #define PERSONALITY_FUNCTION	__gxx_personality_imp
 #else
 #define PERSONALITY_FUNCTION	__gxx_personality_v0
 #endif
 
-#ifdef __SEH__
+#if defined (__SEH__) && !defined (_GLIBCXX_SJLJ_EXCEPTIONS)
 static
 #else
 extern "C"
@@ -785,7 +785,7 @@ __cxa_call_unexpected (void *exc_obj_in)
 }
 #endif
 
-#ifdef __SEH__
+#if defined (__SEH__) && !defined (_GLIBCXX_SJLJ_EXCEPTIONS)
 extern "C"
 EXCEPTION_DISPOSITION
 __gxx_personality_seh0 (PEXCEPTION_RECORD ms_exc, void *this_frame,