diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index d2b12f6..01813ef 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -720,10 +720,10 @@
     while (StartColumn + TailLength > getColumnLimit()) {
       StringRef Text = StringRef(Current.FormatTok.Tok.getLiteralData() +
                                  TailOffset, TailLength);
-      if (StartColumn + 1 > getColumnLimit())
+      if (StartColumn + OffsetFromStart + 1 > getColumnLimit())
         break;
-      StringRef::size_type SplitPoint =
-          getSplitPoint(Text, getColumnLimit() - StartColumn - 1);
+      StringRef::size_type SplitPoint = getSplitPoint(
+          Text, getColumnLimit() - StartColumn - OffsetFromStart - 1);
       if (SplitPoint == StringRef::npos)
         break;
       assert(SplitPoint != 0);
@@ -751,10 +751,15 @@
   StringRef::size_type
   getSplitPoint(StringRef Text, StringRef::size_type Offset) {
     StringRef::size_type SpaceOffset = Text.rfind(' ', Offset);
-    if (SpaceOffset == StringRef::npos && Offset > 0) {
+    if (SpaceOffset != StringRef::npos)
+      return SpaceOffset;
+    StringRef::size_type SlashOffset = Text.rfind('/', Offset);
+    if (SlashOffset != StringRef::npos)
+      return SlashOffset;
+    if (Offset > 1)
+      // Do not split at 0.
       return Offset - 1;
-    }
-    return SpaceOffset;
+    return StringRef::npos;
   }
 
   unsigned getColumnLimit() {
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index 8cc8168..8b1f69a 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -3045,9 +3045,15 @@
 
   EXPECT_EQ(
       "\"splitmea\"\n"
-      "\"trandompo\"\n"
-      "\"int\"",
+      "\"trandomp\"\n"
+      "\"oint\"",
       format("\"splitmeatrandompoint\"", getLLVMStyleWithColumns(10)));
+
+  EXPECT_EQ(
+      "\"split/\"\n"
+      "\"pathat/\"\n"
+      "\"slashes\"",
+      format("\"split/pathat/slashes\"", getLLVMStyleWithColumns(10)));
 }
 
 } // end namespace tooling
