diff --git a/src/ftxui/component/terminal_input_parser.cpp b/src/ftxui/component/terminal_input_parser.cpp
index d3f2d6a48a088dc707dabf54e04a40c0ed0c15ff..f19d6adfb190e6f679d98a8c822f99b75a592f63 100644
--- a/src/ftxui/component/terminal_input_parser.cpp
+++ b/src/ftxui/component/terminal_input_parser.cpp
@@ -19,6 +19,8 @@ const std::map<std::string, std::string> g_uniformize = {{
     // See https://github.com/ArthurSonzogni/FTXUI/issues/337
     // Here, we uniformize the new line character to `\n`.
     {"\r", "\n"},
+    // See: https://github.com/ArthurSonzogni/FTXUI/issues/508
+    {std::string({8}), std::string({127})},
 }};
 
 TerminalInputParser::TerminalInputParser(Sender<Task> out)
diff --git a/src/ftxui/component/terminal_input_parser_test.cpp b/src/ftxui/component/terminal_input_parser_test.cpp
index 922ee198f316ae6e5b9eddb0fe3fe4cc6fe58036..f0f8163b0b6f2f63828111a9b8ae97e535070241 100644
--- a/src/ftxui/component/terminal_input_parser_test.cpp
+++ b/src/ftxui/component/terminal_input_parser_test.cpp
@@ -302,7 +302,7 @@ TEST(Event, Control) {
   };
   std::vector<TestCase> cases;
   for (int i = 0; i < 32; ++i) {
-    if (i == 13 || i == 24 || i == 26 || i == 27)
+    if (i == 8 || i == 13 || i == 24 || i == 26 || i == 27)
       continue;
     cases.push_back({char(i), false});
   }
@@ -342,6 +342,8 @@ TEST(Event, Special) {
       {str("\x1B[A"), Event::ArrowUp},
       {str("\x1B[B"), Event::ArrowDown},
       {{127}, Event::Backspace},
+      // Quirk for: https://github.com/ArthurSonzogni/FTXUI/issues/508
+      {{8}, Event::Backspace},
       {str("\x1B[3~"), Event::Delete},
       //{str("\x1B"), Event::Escape},
       {{10}, Event::Return},