diff --git a/CHANGELOG.md b/CHANGELOG.md
index ff60c38..22cf3c9 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,8 @@
 
 - `-o` option for CoNLL-U  output
 
+- missing newlines in file output for now, w2v, conllu target formats when using `-o` option
+
 ### Added
 
 - integrated support for TreeTagger (`-T treetagger`) and spaCy (`-T spacy`) annotations
diff --git a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
index 15aaf2b..85255d4 100644
--- a/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
+++ b/app/src/main/kotlin/de/ids_mannheim/korapxmltools/KorapXmlTool.kt
@@ -860,14 +860,9 @@
 
     // Helper function to write output to file or stdout
     private fun writeOutput(content: String) {
-        if (outputFile != null && (outputFormat == OutputFormat.CONLLU || outputFormat == OutputFormat.WORD2VEC || outputFormat == OutputFormat.NOW)) {
-            val finalOutputPath = if (outputDir != ".") {
-                File(outputDir, File(outputFile!!).name).path
-            } else {
-                outputFile!!
-            }
-            
-            File(finalOutputPath).appendText(content)
+        if (textOutputWriter != null) {
+            textOutputWriter!!.write(content)
+            textOutputWriter!!.newLine()  // Add newline to match println() behavior
         } else {
             println(content)
         }
