diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java
index 2c1dfcbdc81a22db18b597cf7e91c926f320ee92..e935ea0fe22cd3f427c828cabc28eec1ff21693f 100644
--- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java
+++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java
@@ -203,6 +203,19 @@ public class TransactionImportController extends BaseController
 		return ReturnValues.REDIRECT_IMPORT;
 	}
 
+	@GetMapping("/{index}/undoSkip")
+	public String undoSkip(WebRequest request, @PathVariable("index") Integer index)
+	{
+		final Optional<CsvTransaction> transactionOptional = getTransactionByIndex(request, index);
+		if(transactionOptional.isEmpty())
+		{
+			return ReturnValues.REDIRECT_IMPORT;
+		}
+
+		transactionOptional.get().setStatus(CsvTransactionStatus.PENDING);
+		return ReturnValues.REDIRECT_IMPORT;
+	}
+
 	@GetMapping("/{index}/newTransaction/{type}")
 	public String newTransaction(WebRequest request,
 								 @PathVariable("index") Integer index,
diff --git a/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl b/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl
index 6f346846087e36fe8c66377cdcf86b0c4231a9ff..f08232c7ae6d14bfd6f1f6f64f6f0aaf9feee999 100644
--- a/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl
+++ b/BudgetMasterServer/src/main/resources/templates/transactions/transactionImport.ftl
@@ -262,27 +262,31 @@
             </td>
             <td data-order="${currencyService.getCurrencyString(csvTransaction.getAmount())}" data-search="${currencyService.getCurrencyString(csvTransaction.getAmount())}">${currencyService.getCurrencyString(csvTransaction.getAmount())}</td>
             <td>
-                <@header.buttonSubmit name='action' icon='save' localizationKey='' classes='text-white'/>&nbsp;
-                <div class="fixed-action-btn edit-transaction-button">
-                    <a class="btn-floating btn-flat waves-effect waves-light no-padding text-default edit-transaction-button-link">
-                        <i class="material-icons text-default">edit</i>
-                    </a>
-                    <ul class="new-transaction-button-list">
-                        <li>
-                            <a href="<@s.url '/transactionImport/' + index + '/newTransaction/normal'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.normal"))}</a>
-                            <a href="<@s.url '/transactionImport/' + index + '/newTransaction/normal'/>" class="btn-floating btn background-orange"><i class="material-icons">payment</i></a>
-                        </li>
-                        <li>
-                            <a href="<@s.url '/transactionImport/' + index + '/newTransaction/transfer'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.transfer"))}</a>
-                            <a href="<@s.url '/transactionImport/' + index + '/newTransaction/transfer'/>" class="btn-floating btn background-green-dark"><i class="material-icons">swap_horiz</i></a>
-                        </li>
-                        <li>
-                            <a href="<@s.url '/transactionImport/' + index + '/newFromTemplate'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.from.template"))}</a>
-                            <a href="<@s.url '/transactionImport/' + index + '/newFromTemplate'/>" class="btn-floating btn background-blue-baby"><i class="material-icons">file_copy</i></a>
-                        </li>
-                    </ul>
-                </div>
-                <@header.buttonFlat url='/transactionImport/' + index + '/skip' icon='block' localizationKey='' classes="no-padding text-default button-request-transaction-import-skip"/>
+                <#if csvTransaction.getStatus().name() == 'SKIPPED'>
+                    <@header.buttonFlat url='/transactionImport/' + index + '/undoSkip' icon='do_disturb_off' localizationKey='' classes="no-padding text-default button-request-transaction-import-undo-skip"/>
+                <#else>
+                    <@header.buttonSubmit name='action' icon='save' localizationKey='' classes='text-white'/>&nbsp;
+                    <div class="fixed-action-btn edit-transaction-button">
+                        <a class="btn-floating btn-flat waves-effect waves-light no-padding text-default edit-transaction-button-link">
+                            <i class="material-icons text-default">edit</i>
+                        </a>
+                        <ul class="new-transaction-button-list">
+                            <li>
+                                <a href="<@s.url '/transactionImport/' + index + '/newTransaction/normal'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.normal"))}</a>
+                                <a href="<@s.url '/transactionImport/' + index + '/newTransaction/normal'/>" class="btn-floating btn background-orange"><i class="material-icons">payment</i></a>
+                            </li>
+                            <li>
+                                <a href="<@s.url '/transactionImport/' + index + '/newTransaction/transfer'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.transfer"))}</a>
+                                <a href="<@s.url '/transactionImport/' + index + '/newTransaction/transfer'/>" class="btn-floating btn background-green-dark"><i class="material-icons">swap_horiz</i></a>
+                            </li>
+                            <li>
+                                <a href="<@s.url '/transactionImport/' + index + '/newFromTemplate'/>" class="btn-floating btn mobile-fab-tip no-wrap">${locale.getString("title.transaction.new", locale.getString("title.transaction.new.from.template"))}</a>
+                                <a href="<@s.url '/transactionImport/' + index + '/newFromTemplate'/>" class="btn-floating btn background-blue-baby"><i class="material-icons">file_copy</i></a>
+                            </li>
+                        </ul>
+                    </div>
+                    <@header.buttonFlat url='/transactionImport/' + index + '/skip' icon='do_not_disturb_on' localizationKey='' classes="no-padding text-default button-request-transaction-import-skip"/>
+                </#if>
             </td>
         </form>
     </tr>
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 475a0aaa76fc6318b9ab6096536a73717873acdf..c80818406dfc1ce1fdf4ed32ea61614ddff4e65a 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
@@ -278,6 +278,28 @@ class CsvImportTest extends SeleniumTestBase
 		assertThat(driver.findElement(By.className("transaction-import-row-skipped")).isDisplayed()).isTrue();
 	}
 
+	@Test
+	void test_undoSkipRow()
+	{
+		uploadAndSetColumnSettings();
+		List<WebElement> rows = driver.findElements(By.className("transaction-import-row"));
+
+		// skip
+		rows.get(0).findElement(By.className("button-request-transaction-import-skip")).click();
+		WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(5));
+		wait.until(ExpectedConditions.visibilityOfElementLocated(By.className("transaction-import-row-skipped")));
+
+		assertThat(driver.findElement(By.className("transaction-import-row-skipped")).isDisplayed()).isTrue();
+
+		// undo skip
+		rows = driver.findElements(By.className("transaction-import-row"));
+		rows.get(0).findElement(By.className("button-request-transaction-import-undo-skip")).click();
+		wait = new WebDriverWait(driver, Duration.ofSeconds(5));
+		wait.until(ExpectedConditions.invisibilityOfElementLocated(By.className("transaction-import-row-skipped")));
+
+		assertThat(driver.findElements(By.className("transaction-import-row-skipped"))).isEmpty();
+	}
+
 	@Test
 	void test_saveInPlace()
 	{