diff --git a/.waf-tools/type_traits.py b/.waf-tools/type_traits.py
index a895e07..efc4e3d 100644
--- a/.waf-tools/type_traits.py
+++ b/.waf-tools/type_traits.py
@@ -11,5 +11,5 @@
 
 def configure(conf):
     checkForTypeProperty(conf, 'is_default_constructible', 'int')
-    checkForTypeProperty(conf, 'is_move_constructible', 'int')
-    checkForTypeProperty(conf, 'is_move_assignable', 'int')
+    checkForTypeProperty(conf, 'is_nothrow_move_constructible', 'int')
+    checkForTypeProperty(conf, 'is_nothrow_move_assignable', 'int')
diff --git a/src/encoding/block.cpp b/src/encoding/block.cpp
index 5e5f666..32016f8 100644
--- a/src/encoding/block.cpp
+++ b/src/encoding/block.cpp
@@ -33,15 +33,15 @@
 
 namespace ndn {
 
-#if NDN_CXX_HAVE_IS_MOVE_CONSTRUCTIBLE
-static_assert(std::is_move_constructible<Buffer>::value,
-              "Buffer must be MoveConstructible");
-#endif // NDN_CXX_HAVE_IS_MOVE_CONSTRUCTIBLE
+#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
+static_assert(std::is_nothrow_move_constructible<Block>::value,
+              "Block must be MoveConstructible with noexcept");
+#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
 
-#if NDN_CXX_HAVE_IS_MOVE_ASSIGNABLE
-static_assert(std::is_move_assignable<Buffer>::value,
-              "Buffer must be MoveAssignable");
-#endif // NDN_CXX_HAVE_IS_MOVE_ASSIGNABLE
+#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
+static_assert(std::is_nothrow_move_assignable<Block>::value,
+              "Block must be MoveAssignable with noexcept");
+#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
 
 const size_t MAX_SIZE_OF_BLOCK_FROM_STREAM = 8800;
 
diff --git a/src/encoding/buffer.cpp b/src/encoding/buffer.cpp
index 0402d7d..940ed88 100644
--- a/src/encoding/buffer.cpp
+++ b/src/encoding/buffer.cpp
@@ -25,15 +25,15 @@
 
 namespace ndn {
 
-#if NDN_CXX_HAVE_IS_MOVE_CONSTRUCTIBLE
-static_assert(std::is_move_constructible<Buffer>::value,
-              "Buffer must be MoveConstructible");
-#endif // NDN_CXX_HAVE_IS_MOVE_CONSTRUCTIBLE
+#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
+static_assert(std::is_nothrow_move_constructible<Buffer>::value,
+              "Buffer must be MoveConstructible with noexcept");
+#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
 
-#if NDN_CXX_HAVE_IS_MOVE_ASSIGNABLE
-static_assert(std::is_move_assignable<Buffer>::value,
-              "Buffer must be MoveAssignable");
-#endif // NDN_CXX_HAVE_IS_MOVE_ASSIGNABLE
+#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
+static_assert(std::is_nothrow_move_assignable<Buffer>::value,
+              "Buffer must be MoveAssignable with noexcept");
+#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_ASSIGNABLE
 
 Buffer::Buffer()
 {
diff --git a/src/util/scheduler-scoped-event-id.cpp b/src/util/scheduler-scoped-event-id.cpp
index c69af3b..2858749 100644
--- a/src/util/scheduler-scoped-event-id.cpp
+++ b/src/util/scheduler-scoped-event-id.cpp
@@ -25,12 +25,17 @@
 namespace util {
 namespace scheduler {
 
+#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
+static_assert(std::is_nothrow_move_constructible<ScopedEventId>::value,
+              "ScopedEventId must be MoveConstructible with noexcept");
+#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
+
 ScopedEventId::ScopedEventId(Scheduler& scheduler)
   : m_scheduler(&scheduler)
 {
 }
 
-ScopedEventId::ScopedEventId(ScopedEventId&& other)
+ScopedEventId::ScopedEventId(ScopedEventId&& other) noexcept
   : m_scheduler(other.m_scheduler)
   , m_event(other.m_event)
 {
diff --git a/src/util/scheduler-scoped-event-id.hpp b/src/util/scheduler-scoped-event-id.hpp
index 89cab89..1391d5d 100644
--- a/src/util/scheduler-scoped-event-id.hpp
+++ b/src/util/scheduler-scoped-event-id.hpp
@@ -42,7 +42,7 @@
 
   /** \brief move constructor
    */
-  ScopedEventId(ScopedEventId&& other);
+  ScopedEventId(ScopedEventId&& other) noexcept;
 
   /** \brief assigns an event
    *
diff --git a/src/util/signal-scoped-connection.cpp b/src/util/signal-scoped-connection.cpp
index a0f2d1c..1b1fb95 100644
--- a/src/util/signal-scoped-connection.cpp
+++ b/src/util/signal-scoped-connection.cpp
@@ -25,6 +25,11 @@
 namespace util {
 namespace signal {
 
+#if NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
+static_assert(std::is_nothrow_move_constructible<ScopedConnection>::value,
+              "ScopedConnection must be MoveConstructible with noexcept");
+#endif // NDN_CXX_HAVE_IS_NOTHROW_MOVE_CONSTRUCTIBLE
+
 ScopedConnection::ScopedConnection()
 {
 }
@@ -34,7 +39,7 @@
 {
 }
 
-ScopedConnection::ScopedConnection(ScopedConnection&& other)
+ScopedConnection::ScopedConnection(ScopedConnection&& other) noexcept
   : m_connection(other.m_connection)
 {
   other.release();
diff --git a/src/util/signal-scoped-connection.hpp b/src/util/signal-scoped-connection.hpp
index 80717e5..04a4bb3 100644
--- a/src/util/signal-scoped-connection.hpp
+++ b/src/util/signal-scoped-connection.hpp
@@ -42,7 +42,7 @@
 
   /** \brief move constructor
    */
-  ScopedConnection(ScopedConnection&& other);
+  ScopedConnection(ScopedConnection&& other) noexcept;
 
   /** \brief assigns a connection
    *
