diff --git a/include/bitset b/include/bitset
index 9fb91e9..4755fbe 100644
--- a/include/bitset
+++ b/include/bitset
@@ -679,7 +679,7 @@
     _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR bitset() _NOEXCEPT {}
     _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR
         bitset(unsigned long long __v) _NOEXCEPT : base(__v) {}
-    template<class _CharT>
+    template<class _CharT, class = _EnableIf<_IsCharLikeType<_CharT>::value> >
         explicit bitset(const _CharT* __str,
                         typename basic_string<_CharT>::size_type __n = basic_string<_CharT>::npos,
                         _CharT __zero = _CharT('0'), _CharT __one = _CharT('1'));
@@ -760,7 +760,7 @@
 };
 
 template <size_t _Size>
-template<class _CharT>
+template<class _CharT, class>
 bitset<_Size>::bitset(const _CharT* __str,
                       typename basic_string<_CharT>::size_type __n,
                       _CharT __zero, _CharT __one)
diff --git a/include/type_traits b/include/type_traits
index cdb252c..3b09c59 100644
--- a/include/type_traits
+++ b/include/type_traits
@@ -4006,6 +4006,10 @@
 }
 #endif
 
+
+template <class _CharT>
+using _IsCharLikeType = _And<is_standard_layout<_CharT>, is_trivial<_CharT> >;
+
 _LIBCPP_END_NAMESPACE_STD
 
 #if _LIBCPP_STD_VER > 14
diff --git a/test/std/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp b/test/std/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
index 453db91..b08449c 100644
--- a/test/std/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
+++ b/test/std/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
@@ -74,6 +74,18 @@
     }
 }
 
+struct Nonsense {
+    virtual ~Nonsense() {}
+};
+
+void test_for_non_eager_instantiation() {
+    // Ensure we don't accidentally instantiate `std::basic_string<Nonsense>`
+    // since it may not be well formed and can cause an error in the
+    // non-immediate context.
+    static_assert(!std::is_constructible<std::bitset<3>, Nonsense*>::value, "");
+    static_assert(!std::is_constructible<std::bitset<3>, Nonsense*, size_t, Nonsense&, Nonsense&>::value, "");
+}
+
 int main(int, char**)
 {
     test_string_ctor<0>();
@@ -85,6 +97,7 @@
     test_string_ctor<64>();
     test_string_ctor<65>();
     test_string_ctor<1000>();
+    test_for_non_eager_instantiation();
 
   return 0;
 }
