diff --git a/CHANGES b/CHANGES
index 9ea7e69ec..9c338d6e3 100644
--- a/CHANGES
+++ b/CHANGES
@@ -9,6 +9,10 @@
 Daniel Fandrich (8 Oct 2008)
 - Added tests 1082 through 1085 to test symbolic --interface parameters
 
+- Added tests 633 through 637 to test the new file range support for SFTP.
+  All but the first test cause an infinite loop or other failure and so
+  are added to DISABLED.
+
 Daniel Stenberg (8 Oct 2008)
 - Bug #2152270 (http://curl.haxx.se/bug/view.cgi?id=2152270) identified and
   fixed a CURLINFO_REDIRECT_URL memory leak and an additional wrong-doing:
diff --git a/tests/data/DISABLED b/tests/data/DISABLED
index fb3ae0ec9..012450fb0 100644
--- a/tests/data/DISABLED
+++ b/tests/data/DISABLED
@@ -3,4 +3,7 @@
 # test cases are run by runtests.pl. Just add the plain test case numbers, one
 # per line.
 # Lines starting with '#' letters are treated as comments.
-
+634
+635
+636
+637
diff --git a/tests/data/Makefile.am b/tests/data/Makefile.am
index fa02c5a54..c999e1b97 100644
--- a/tests/data/Makefile.am
+++ b/tests/data/Makefile.am
@@ -58,7 +58,8 @@ EXTRA_DIST = test1 test108 test117 test127 test20 test27 test34 test46	   \
  test1056 test1057 test1058 test1059 test1060 test1061 test1062 test1063   \
  test1064 test1065 test1066 test1067 test1068 test1069 test1070 test1071   \
  test1072 test1073 test1074 test1075 test1076 test1077 test1078 test1079   \
- test1080 test1081 test1082 test1083 test1084 test1085
+ test1080 test1081 test1082 test1083 test1084 test1085 test633 test634     \
+ test635 test636 test637
 
 filecheck:
 	@mkdir test-place; \
diff --git a/tests/data/test633 b/tests/data/test633
new file mode 100644
index 000000000..8bea1c4d2
--- /dev/null
+++ b/tests/data/test633
@@ -0,0 +1,42 @@
+<testcase>
+<info>
+<keywords>
+SFTP
+Range
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+data
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+sftp
+</server>
+ <name>
+SFTP retrieval with byte range
+ </name>
+ <command>
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file633.txt -r 5-9
+</command>
+<file name="log/file633.txt">
+Test data
+for ssh test
+</file>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>
diff --git a/tests/data/test634 b/tests/data/test634
new file mode 100644
index 000000000..a9c1d40f0
--- /dev/null
+++ b/tests/data/test634
@@ -0,0 +1,43 @@
+<testcase>
+<info>
+<keywords>
+SFTP
+Range
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+data
+for ssh test
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+sftp
+</server>
+ <name>
+SFTP retrieval with byte range past end of file
+ </name>
+ <command>
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file634.txt -r 5-99
+</command>
+<file name="log/file634.txt">
+Test data
+for ssh test
+</file>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>
diff --git a/tests/data/test635 b/tests/data/test635
new file mode 100644
index 000000000..7ef3a5d6c
--- /dev/null
+++ b/tests/data/test635
@@ -0,0 +1,42 @@
+<testcase>
+<info>
+<keywords>
+SFTP
+Range
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+ssh test
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+sftp
+</server>
+ <name>
+SFTP retrieval with byte range relative to end of file
+ </name>
+ <command>
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file635.txt -r -9
+</command>
+<file name="log/file635.txt">
+Test data
+for ssh test
+</file>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>
diff --git a/tests/data/test636 b/tests/data/test636
new file mode 100644
index 000000000..1a9489120
--- /dev/null
+++ b/tests/data/test636
@@ -0,0 +1,43 @@
+<testcase>
+<info>
+<keywords>
+SFTP
+Range
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+data
+for ssh test
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+sftp
+</server>
+ <name>
+SFTP retrieval with X- byte range
+ </name>
+ <command>
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file636.txt -r 5-
+</command>
+<file name="log/file636.txt">
+Test data
+for ssh test
+</file>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>
diff --git a/tests/data/test637 b/tests/data/test637
new file mode 100644
index 000000000..258c4995f
--- /dev/null
+++ b/tests/data/test637
@@ -0,0 +1,44 @@
+<testcase>
+<info>
+<keywords>
+SFTP
+Range
+</keywords>
+</info>
+
+#
+# Server-side
+<reply>
+<data>
+</data>
+</reply>
+
+#
+# Client-side
+<client>
+<server>
+sftp
+</server>
+ <name>
+SFTP retrieval with invalid X- range
+ </name>
+ <command>
+--key curl_client_key --pubkey curl_client_key.pub -u %USER: sftp://%HOSTIP:%SSHPORT%PWD/log/file637.txt -r 99-
+</command>
+<file name="log/file637.txt">
+Test data
+for ssh test
+</file>
+</client>
+
+#
+# Verify data after the test has been "shot"
+<verify>
+<errorcode>
+36
+</errorcode>
+<valgrind>
+disable
+</valgrind>
+</verify>
+</testcase>