diff --git a/BudgetMasterServer/pom.xml b/BudgetMasterServer/pom.xml
index 948a2d428e5dfeea9e96b8f5807c387d0e1bb945..a754525a3b74d7eef4b08095047067a139b95166 100644
--- a/BudgetMasterServer/pom.xml
+++ b/BudgetMasterServer/pom.xml
@@ -5,7 +5,7 @@
     <parent>
         <artifactId>BudgetMaster</artifactId>
         <groupId>de.deadlocker8</groupId>
-        <version>2.17.0</version>
+        <version>2.17.1</version>
     </parent>
     <modelVersion>4.0.0</modelVersion>
 
diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java
index a573df662b4e2433b4782523dca2cddd6e43716a..5354f34bd80266464189bf592d2a0c06dcf1549d 100644
--- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/controller/AboutController.java
@@ -50,7 +50,7 @@ public class AboutController extends BaseController
 		newsEntries.add(NewsEntry.createWithLocalizationKey("accountEndDate"));
 		newsEntries.add(NewsEntry.createWithLocalizationKey("accountDescription"));
 		newsEntries.add(NewsEntry.createWithLocalizationKey("transactionNameSuggestionsSort"));
-		newsEntries.add(NewsEntry.createWithLocalizationKey("transactionNameSuggestionsSort"));
+		newsEntries.add(NewsEntry.createWithLocalizationKey("bugfixCsvImport"));
 
 		model.addAttribute(ModelAttributes.NEWS_ENTRIES, newsEntries);
 		return ReturnValues.WHATS_NEW;
diff --git a/BudgetMasterServer/src/main/resources/static/css/transactionImport.css b/BudgetMasterServer/src/main/resources/static/css/transactionImport.css
index 5a298f8380a1db5242dd94c6c8da0d694d741d27..d7e7b0d4cf5f4be6c0ff611e64495dd5721fcb90 100644
--- a/BudgetMasterServer/src/main/resources/static/css/transactionImport.css
+++ b/BudgetMasterServer/src/main/resources/static/css/transactionImport.css
@@ -24,6 +24,10 @@
     opacity: 0.5;
 }
 
+#table-transaction-rows tr {
+    border-bottom: none !important;
+}
+
 #table-transaction-rows td {
     padding: 5px;
 }
@@ -33,10 +37,10 @@
     margin: auto;
 }
 
-#table-transaction-rows_filter input {
-    height: 1rem;
-    border: none;
-    border-radius: 0;
+.dt-search input[type=search] {
+    height: 1rem !important;
+    border: none !important;
+    border-radius: 0 !important;
 }
 
 /* override custom select styling*/
@@ -57,30 +61,30 @@
 }
 
 /* label focus color */
-#table-transaction-rows_filter input[type=search]:focus + label {
+.dt-search input[type=search]:focus + label {
     color: var(--color-blue) !important;
 }
 
 /* label underline focus color */
-#table-transaction-rows_filter input[type=search]:focus:not(.invalid) {
+.dt-search input[type=search]:focus:not(.invalid) {
     border-bottom: 1px solid var(--color-blue) !important;
     box-shadow: 0 1px 0 0 #CCCCCC !important;
 }
 
 /* input text color */
-[data-theme="dark"] #table-transaction-rows_filter input[type=search] {
-    color: var(--color-white);
-    border-bottom: 1px solid var(--color-white);
-    box-shadow: 0 1px 0 0 #CCCCCC;
+[data-theme="dark"] .dt-search input[type=search] {
+    color: var(--color-white) !important;
+    border-bottom: 1px solid var(--color-white) !important;
+    box-shadow: 0 1px 0 0 #CCCCCC !important;
 }
 
 /* input label color */
-[data-theme="dark"] #table-transaction-rows_filter input[type=search] + label {
+[data-theme="dark"] .dt-search input[type=search] + label {
     color: var(--color-white) !important;
 }
 
 /* label underline focus color */
-[data-theme="dark"] #table-transaction-rows_filter input[type=search]:focus:not(.invalid) {
+[data-theme="dark"] .dt-search input[type=search]:focus:not(.invalid) {
     border-bottom: 1px solid var(--color-blue) !important;
     box-shadow: 0 1px 0 0 var(--color-blue) !important;
 }
\ No newline at end of file
diff --git a/BudgetMasterServer/src/main/resources/static/js/transactionImport.js b/BudgetMasterServer/src/main/resources/static/js/transactionImport.js
index 17d879e297a1659d051579986d47fd480bb990d6..251e89c1a4c6e4d135e3b560ee296c797036447b 100644
--- a/BudgetMasterServer/src/main/resources/static/js/transactionImport.js
+++ b/BudgetMasterServer/src/main/resources/static/js/transactionImport.js
@@ -7,16 +7,25 @@ $(document).ready(function()
 
     $('.collapsible').collapsible();
 
+    DataTable.type('date', 'className', 'dt-center');
     $('#table-transaction-rows').DataTable({
         paging: false,
-        order: [[2, 'desc']],
+        order: [[1, 'desc']],
         info: false,
         scrollX: true,
         scrollY: false,
         columnDefs: [
-            { orderable: false, targets:  6}
+            {
+                className: "dt-head-center",
+                targets: [0, 1, 3, 4, 6]
+            },
+            {
+                // amount column
+                orderable: false,
+                targets: 5
+            }
         ],
-        language: { search: '' , searchPlaceholder: localizedSearch},
+        language: {search: '', searchPlaceholder: localizedSearch},
     });
 
     if(transactionNameSuggestions !== undefined)
@@ -24,7 +33,10 @@ $(document).ready(function()
         let nameElements = document.querySelectorAll('.autocomplete');
         let autoCompleteInstances = M.Autocomplete.init(nameElements, {
             data: transactionNameSuggestions,
-            sortFunction: function(a,b, inputString) {return false;}
+            sortFunction: function(a, b, inputString)
+            {
+                return false;
+            }
         });
 
         // prevent tab traversal for dropdown (otherwise "tab" needs to be hit twice to jump from name input to amount input)
diff --git a/BudgetMasterServer/src/main/resources/templates/transactions/transactionImportMacros.ftl b/BudgetMasterServer/src/main/resources/templates/transactions/transactionImportMacros.ftl
index fa1b64a646eaa6e3ff54bfed02d9eafbcd06c342..da4773f618a2a9c3d6c45641bf5bdb2ff2c668d9 100644
--- a/BudgetMasterServer/src/main/resources/templates/transactions/transactionImportMacros.ftl
+++ b/BudgetMasterServer/src/main/resources/templates/transactions/transactionImportMacros.ftl
@@ -167,10 +167,9 @@
 
 <#macro renderCsvTransactions>
     <div id="transaction-import-list">
-        <table class="bordered centered" id="table-transaction-rows" style="width:100%">
+        <table class="centered" id="table-transaction-rows" style="width:100%">
             <thead>
                 <tr>
-                    <td class="hidden"></td>
                     <td class="bold">${locale.getString("transactions.import.status")}</td>
                     <td class="bold">${locale.getString("transaction.new.label.date")}</td>
                     <td class="bold">${locale.getString("transaction.new.label.category")}</td>
@@ -187,6 +186,14 @@
                 </#list>
             </tbody>
         </table>
+
+        <div class="hidden">
+            <#list csvTransactions as csvTransaction>
+                <form name="NewTransactionInPlace" id="newTransactionInPlace_${csvTransaction?index}" method="POST" action="<@s.url '/transactionImport/' + csvTransaction?index + '/newTransactionInPlace'/>" data-index="${csvTransaction?index}">
+                    <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
+                </form>
+            </#list>
+        </div>
     </div>
 
     <@newTransactionMacros.insertNameSuggestions/>
@@ -194,11 +201,6 @@
 
 <#macro renderCsvTransaction csvTransaction index>
     <tr class="transaction-import-row <#if csvTransaction.getStatus().name() == 'SKIPPED'>transaction-import-row-skipped</#if>" id="transaction-import-row-${index}">
-            <td class="hidden">
-                <form name="NewTransactionInPlace" id="newTransactionInPlace_${index}" method="POST" action="<@s.url '/transactionImport/' + index + '/newTransactionInPlace'/>" data-index="${index}">
-                    <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
-                </form>
-            </td>
             <td data-order="${locale.getString(csvTransaction.getStatus().getLocalizationKey())}" data-search="${locale.getString(csvTransaction.getStatus().getLocalizationKey())}"><@statusBanner csvTransaction.getStatus()/></td>
             <td data-order="${csvTransaction.getDate()}" data-search="${csvTransaction.getDate()}">${csvTransaction.getDate()}</td>
             <td data-order="${csvTransaction.getCategory().getName()}" data-search="${csvTransaction.getCategory().getName()}">
diff --git a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/CsvImportTest.java b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/CsvImportTest.java
index 29fce9d7433878e254bb4750a9d6612fc763d57c..0d79a7a2da384005c757e09f9a9a00b2d088787e 100644
--- a/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/CsvImportTest.java
+++ b/BudgetMasterServer/src/test/java/de/deadlocker8/budgetmaster/integration/selenium/CsvImportTest.java
@@ -655,23 +655,23 @@ class CsvImportTest extends SeleniumTestBase
 	{
 		final List<WebElement> columns = row.findElements(By.tagName("td"));
 
-		assertThat(columns.get(1).findElements(By.cssSelector(".banner.background-" + statusColor)))
+		assertThat(columns.get(0).findElements(By.cssSelector(".banner.background-" + statusColor)))
 				.hasSize(1);
 
-		assertThat(columns.get(2).getText())
+		assertThat(columns.get(1).getText())
 				.isEqualTo(date);
 
-		final WebElement categoryCircle = columns.get(3).findElement(By.className("category-circle"));
+		final WebElement categoryCircle = columns.get(2).findElement(By.className("category-circle"));
 		categoryName = categoryName.substring(0, 1).toUpperCase();
 		assertThat(categoryCircle.findElement(By.tagName("span"))).hasFieldOrPropertyWithValue("text", categoryName);
 
-		assertThat(columns.get(4).findElement(By.name("name")).getAttribute("value"))
+		assertThat(columns.get(3).findElement(By.name("name")).getAttribute("value"))
 				.isEqualTo(name);
 
-		assertThat(columns.get(5).findElement(By.name("description")).getAttribute("value"))
+		assertThat(columns.get(4).findElement(By.name("description")).getAttribute("value"))
 				.isEqualTo(description);
 
-		assertThat(columns.get(6).getText())
+		assertThat(columns.get(5).getText())
 				.isEqualTo(amount);
 	}
 }
\ No newline at end of file
diff --git a/Dockerfile b/Dockerfile
index 4ea8b6947ec190dca48d33d467179e565eb0ad9f..bffc2debd5a8809ff83669d747cf9af9be1e3eba 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -8,7 +8,7 @@ ARG APP_DIR=/BudgetMaster
 RUN mkdir -p $APP_DIR
 RUN mkdir -p /root/.Deadlocker/BudgetMaster
 
-COPY BudgetMasterServer/build/2.17.0/BudgetMasterServer-v2.17.0.jar /BudgetMaster/BudgetMaster.jar
+COPY BudgetMasterServer/build/2.17.1/BudgetMasterServer-v2.17.1.jar /BudgetMaster/BudgetMaster.jar
 COPY BudgetMasterServer/src/main/resources/config/templates/settings-docker.properties /root/.Deadlocker/BudgetMaster/settings.properties
 RUN echo "server.port=9000" > ~/.Deadlocker/BudgetMaster/settings.properties
 
diff --git a/README.md b/README.md
index c3949ee03a11c000c2fcc1bd52ea02802923566b..17f7918b49338133ef6058c109960eadc7fc354e 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
 Manage your monthly budget easily with BudgetMaster
 
 - __start:__ 17.12.16
-- __current release:__ v2.17.0 (47) from 05.10.24
+- __current release:__ v2.17.1 (48) from 14.10.24
 
 ## Key Features
 - Keep your data private - Host your own BudgetMaster server or use it in standalone mode. All data remains on your machines.
diff --git a/pom.xml b/pom.xml
index 40a831d73318e965704602964ff96b5b4f20466a..b161e0d8996160ab1d3f7e37d1df8b7a119dc044 100644
--- a/pom.xml
+++ b/pom.xml
@@ -7,7 +7,7 @@
     <groupId>de.deadlocker8</groupId>
     <artifactId>BudgetMaster</artifactId>
     <packaging>pom</packaging>
-    <version>2.17.0</version>
+    <version>2.17.1</version>
     <name>BudgetMaster</name>
 
     <modules>
@@ -50,7 +50,7 @@
 
         <app.versionDate>${maven.build.timestamp}</app.versionDate>
         <maven.build.timestamp.format>dd.MM.yy</maven.build.timestamp.format>
-        <app.versionCode>47</app.versionCode>
+        <app.versionCode>48</app.versionCode>
         <app.author>Robert Goldmann</app.author>
 
         <testcontainer.version>1.20.2</testcontainer.version>