diff --git a/project/common.mk b/project/common.mk
index 8a01a41..9290b25 100644
--- a/project/common.mk
+++ b/project/common.mk
@@ -15,6 +15,7 @@ API_SRCS = \
 	src/u16_wcpncpy.c \
 	src/u16_wcsdup.c \
 	src/u16_wcscat.c \
+	src/u16_wcsncat.c \
 
 INTERNAL_SRCS = \
 
diff --git a/src/u16_wcsncat.c b/src/u16_wcsncat.c
new file mode 100644
index 0000000..0528aaa
--- /dev/null
+++ b/src/u16_wcsncat.c
@@ -0,0 +1,23 @@
+/*******************************************************************/
+/*  u16ports: u16 variants of wide character string functions.     */
+/*  Copyright (C) 2017  Z. Gilboa                                  */
+/*  Released under the Standard MIT License; see COPYING.U16PORTS. */
+/*******************************************************************/
+
+#include <stdint.h>
+#include <u16ports/u16ports.h>
+
+uint16_t * u16_wcsncat(uint16_t * dst, const uint16_t * src, size_t len)
+{
+	uint16_t * ret;
+
+	ret  = dst;
+	dst += u16_wcslen(dst);
+
+	for (; len && *src; len--)
+		*dst++ = *src++;
+
+	*dst = 0;
+
+	return ret;
+}