diff --git a/.gitignore b/.gitignore
index 1cddb117..8778cee2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -93,6 +93,7 @@ test/default/scalarmult
test/default/scalarmult2
test/default/scalarmult5
test/default/scalarmult6
+test/default/scalarmult7
test/default/secretbox
test/default/secretbox2
test/default/secretbox7
diff --git a/builds/msvc/vs2010/test/test.vcxproj b/builds/msvc/vs2010/test/test.vcxproj
index d94f25dc..4c8f9315 100644
--- a/builds/msvc/vs2010/test/test.vcxproj
+++ b/builds/msvc/vs2010/test/test.vcxproj
@@ -157,6 +157,9 @@
true
+
+ true
+
true
diff --git a/builds/msvc/vs2010/test/test.vcxproj.filters b/builds/msvc/vs2010/test/test.vcxproj.filters
index 2047e093..42b85288 100644
--- a/builds/msvc/vs2010/test/test.vcxproj.filters
+++ b/builds/msvc/vs2010/test/test.vcxproj.filters
@@ -91,6 +91,9 @@
src
+
+ src
+
src
diff --git a/builds/msvc/vs2012/test/test.vcxproj b/builds/msvc/vs2012/test/test.vcxproj
index a57f82c3..dcde649b 100644
--- a/builds/msvc/vs2012/test/test.vcxproj
+++ b/builds/msvc/vs2012/test/test.vcxproj
@@ -157,6 +157,9 @@
true
+
+ true
+
true
diff --git a/builds/msvc/vs2012/test/test.vcxproj.filters b/builds/msvc/vs2012/test/test.vcxproj.filters
index 2047e093..42b85288 100644
--- a/builds/msvc/vs2012/test/test.vcxproj.filters
+++ b/builds/msvc/vs2012/test/test.vcxproj.filters
@@ -91,6 +91,9 @@
src
+
+ src
+
src
diff --git a/builds/msvc/vs2013/test/test.vcxproj b/builds/msvc/vs2013/test/test.vcxproj
index 61a66b89..04f12bc2 100644
--- a/builds/msvc/vs2013/test/test.vcxproj
+++ b/builds/msvc/vs2013/test/test.vcxproj
@@ -157,6 +157,9 @@
true
+
+ true
+
true
diff --git a/builds/msvc/vs2013/test/test.vcxproj.filters b/builds/msvc/vs2013/test/test.vcxproj.filters
index 2047e093..42b85288 100644
--- a/builds/msvc/vs2013/test/test.vcxproj.filters
+++ b/builds/msvc/vs2013/test/test.vcxproj.filters
@@ -91,6 +91,9 @@
src
+
+ src
+
src
diff --git a/test/default/Makefile.am b/test/default/Makefile.am
index 04f20585..11d76e08 100644
--- a/test/default/Makefile.am
+++ b/test/default/Makefile.am
@@ -40,6 +40,7 @@ EXTRA_DIST = \
scalarmult2.exp \
scalarmult5.exp \
scalarmult6.exp \
+ scalarmult7.exp \
secretbox.exp \
secretbox2.exp \
secretbox7.exp \
@@ -98,6 +99,7 @@ DISTCLEANFILES = \
scalarmult2.res \
scalarmult5.res \
scalarmult6.res \
+ scalarmult7.res \
secretbox.res \
secretbox2.res \
secretbox7.res \
@@ -163,6 +165,7 @@ TESTS_TARGETS = \
scalarmult2 \
scalarmult5 \
scalarmult6 \
+ scalarmult7 \
secretbox \
secretbox2 \
secretbox7 \
@@ -300,6 +303,9 @@ scalarmult5_LDADD = $(TESTS_LDADD)
scalarmult6_SOURCE = cmptest.h scalarmult6.c
scalarmult6_LDADD = $(TESTS_LDADD)
+scalarmult7_SOURCE = cmptest.h scalarmult7.c
+scalarmult7_LDADD = $(TESTS_LDADD)
+
secretbox_SOURCE = cmptest.h secretbox.c
secretbox_LDADD = $(TESTS_LDADD)
diff --git a/test/default/scalarmult7.c b/test/default/scalarmult7.c
new file mode 100644
index 00000000..e83493ef
--- /dev/null
+++ b/test/default/scalarmult7.c
@@ -0,0 +1,31 @@
+
+#define TEST_NAME "scalarmult7"
+#include "cmptest.h"
+
+unsigned char p1[32] = {
+ 0x72, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54,
+ 0x74, 0x8b, 0x7d, 0xdc, 0xb4, 0x3e, 0xf7, 0x5a,
+ 0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, 0x1a, 0xf4,
+ 0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0xea
+};
+
+unsigned char p2[32] = {
+ 0x85, 0x20, 0xf0, 0x09, 0x89, 0x30, 0xa7, 0x54,
+ 0x74, 0x8b, 0x7d, 0xdc, 0xb4, 0x3e, 0xf7, 0x5a,
+ 0x0d, 0xbf, 0x3a, 0x0d, 0x26, 0x38, 0x1a, 0xf4,
+ 0xeb, 0xa4, 0xa9, 0x8e, 0xaa, 0x9b, 0x4e, 0x6a
+};
+
+unsigned char scalar[32];
+unsigned char out1[32];
+unsigned char out2[32];
+
+int main(void)
+{
+ scalar[0] = 1U;
+ crypto_scalarmult_curve25519(out1, scalar, p1);
+ crypto_scalarmult_curve25519(out2, scalar, p2);
+ printf("%d\n", !!memcmp(out1, out2, 32));
+
+ return 0;
+}
diff --git a/test/default/scalarmult7.exp b/test/default/scalarmult7.exp
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/test/default/scalarmult7.exp
@@ -0,0 +1 @@
+1