diff --git a/lib/tsan/rtl/tsan_interceptors_posix.cpp b/lib/tsan/rtl/tsan_interceptors_posix.cpp
index d1d83e2..8aea1e4 100644
--- a/lib/tsan/rtl/tsan_interceptors_posix.cpp
+++ b/lib/tsan/rtl/tsan_interceptors_posix.cpp
@@ -114,6 +114,7 @@
 const int EPOLL_CTL_ADD = 1;
 #endif
 const int SIGILL = 4;
+const int SIGTRAP = 5;
 const int SIGABRT = 6;
 const int SIGFPE = 8;
 const int SIGSEGV = 11;
@@ -1962,10 +1963,10 @@
 }  // namespace __tsan
 
 static bool is_sync_signal(ThreadSignalContext *sctx, int sig) {
-  return sig == SIGSEGV || sig == SIGBUS || sig == SIGILL ||
-      sig == SIGABRT || sig == SIGFPE || sig == SIGPIPE || sig == SIGSYS ||
-      // If we are sending signal to ourselves, we must process it now.
-      (sctx && sig == sctx->int_signal_send);
+  return sig == SIGSEGV || sig == SIGBUS || sig == SIGILL || sig == SIGTRAP ||
+         sig == SIGABRT || sig == SIGFPE || sig == SIGPIPE || sig == SIGSYS ||
+         // If we are sending signal to ourselves, we must process it now.
+         (sctx && sig == sctx->int_signal_send);
 }
 
 void ALWAYS_INLINE rtl_generic_sighandler(bool sigact, int sig,
diff --git a/test/sanitizer_common/TestCases/Linux/signal_trap_handler.cpp b/test/sanitizer_common/TestCases/Linux/signal_trap_handler.cpp
new file mode 100644
index 0000000..9b4bc06
--- /dev/null
+++ b/test/sanitizer_common/TestCases/Linux/signal_trap_handler.cpp
@@ -0,0 +1,29 @@
+// RUN: %clangxx -O1 %s -o %t && %env_tool_opts=handle_sigtrap=1 %run %t 2>&1 | FileCheck %s
+
+#include <assert.h>
+#include <signal.h>
+#include <stdio.h>
+
+int handled;
+
+void handler(int signo, siginfo_t *info, void *uctx) {
+  handled = 1;
+}
+
+int main() {
+  struct sigaction a = {}, old = {};
+  a.sa_sigaction = handler;
+  a.sa_flags = SA_SIGINFO;
+  sigaction(SIGTRAP, &a, &old);
+
+  a = {};
+  sigaction(SIGTRAP, 0, &a);
+  assert(a.sa_sigaction == handler);
+  assert(a.sa_flags & SA_SIGINFO);
+
+  __builtin_debugtrap();
+  assert(handled);
+  fprintf(stderr, "HANDLED %d\n", handled);
+}
+
+// CHECK: HANDLED 1
