diff --git a/src/main/java/org/apache/sysds/runtime/io/FrameReaderTextCSV.java b/src/main/java/org/apache/sysds/runtime/io/FrameReaderTextCSV.java
index 87e81c8..254f9fc 100644
--- a/src/main/java/org/apache/sysds/runtime/io/FrameReaderTextCSV.java
+++ b/src/main/java/org/apache/sysds/runtime/io/FrameReaderTextCSV.java
@@ -48,10 +48,11 @@
  * 
  */
 public class FrameReaderTextCSV extends FrameReader {
-	protected FileFormatPropertiesCSV _props;
+	protected final FileFormatPropertiesCSV _props;
 
 	public FrameReaderTextCSV(FileFormatPropertiesCSV props) {
-		_props = props;
+		//if unspecified use default properties for robustness
+		_props = props != null ? props : new FileFormatPropertiesCSV();
 	}
 
 	@Override
diff --git a/src/test/java/org/apache/sysds/test/component/federated/FederatedUrlParserTest.java b/src/test/java/org/apache/sysds/test/component/federated/FederatedUrlParserTest.java
index edcc477..10e1e6b 100644
--- a/src/test/java/org/apache/sysds/test/component/federated/FederatedUrlParserTest.java
+++ b/src/test/java/org/apache/sysds/test/component/federated/FederatedUrlParserTest.java
@@ -67,7 +67,7 @@
 		// Parse Ip normally, with filepath without port specified.
 		String[] values = InitFEDInstruction.parseURL("123.123.41.22/file.txt");
 		assertEquals("123.123.41.22", values[0]);
-		assertEquals(DMLConfig.DEFAULT_FEDERATED_PORT, values[1]);
+		assertEquals(String.valueOf(DMLConfig.DEFAULT_FEDERATED_PORT), values[1]);
 		assertEquals("file.txt", values[2]);
 	}
 
@@ -85,7 +85,7 @@
 		// parse URL without port.
 		String[] values = InitFEDInstruction.parseURL("hello.com/file.txt");
 		assertEquals("hello.com", values[0]);
-		assertEquals(DMLConfig.DEFAULT_FEDERATED_PORT, values[1]);
+		assertEquals(String.valueOf(DMLConfig.DEFAULT_FEDERATED_PORT), values[1]);
 		assertEquals("file.txt", values[2]);
 	}
 
@@ -95,7 +95,7 @@
 		// Here Japanese: Hello.World
 		String[] values = InitFEDInstruction.parseURL("今日は.世界/file.txt");
 		assertEquals("今日は.世界", values[0]);
-		assertEquals(DMLConfig.DEFAULT_FEDERATED_PORT, values[1]);
+		assertEquals(String.valueOf(DMLConfig.DEFAULT_FEDERATED_PORT), values[1]);
 		assertEquals("file.txt", values[2]);
 	}
 
