diff --git a/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/StreamMetadata.scala b/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/StreamMetadata.scala
index 7807c9fae840a974be5fef38196ff738a55be83e..0bc54eac4ee8e8389564afc13fe9a3dccc33d7ad 100644
--- a/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/StreamMetadata.scala
+++ b/sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/StreamMetadata.scala
@@ -47,7 +47,7 @@ object StreamMetadata extends Logging {
 
   /** Read the metadata from file if it exists */
   def read(metadataFile: Path, hadoopConf: Configuration): Option[StreamMetadata] = {
-    val fs = FileSystem.get(hadoopConf)
+    val fs = metadataFile.getFileSystem(hadoopConf)
     if (fs.exists(metadataFile)) {
       var input: FSDataInputStream = null
       try {
@@ -72,7 +72,7 @@ object StreamMetadata extends Logging {
       hadoopConf: Configuration): Unit = {
     var output: FSDataOutputStream = null
     try {
-      val fs = FileSystem.get(hadoopConf)
+      val fs = metadataFile.getFileSystem(hadoopConf)
       output = fs.create(metadataFile)
       val writer = new OutputStreamWriter(output)
       Serialization.write(metadata, writer)