diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java
index 13445f97661c5e9644d84a24db4a5c34a2a0a7b8..22a9c78bd1dabfd92decfdd94c2640801064d3dc 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/AddExpenseController.java
@@ -72,11 +72,10 @@ public class AddExpenseController {
   public void setExpense(Expense expense) {
     this.newExpense = expense;
     StringProperty dateProperty = new SimpleStringProperty(expense.getDate());
-    DoubleProperty amountProperty = new SimpleDoubleProperty(expense.getAmount());
     StringProperty descriptionProperty = new SimpleStringProperty(expense.getDescription());
 
     dateField.textProperty().bindBidirectional(dateProperty);
-    amountField.textProperty().bindBidirectional(amountProperty, NumberFormat.getNumberInstance());
+    amountField.textProperty().bindBidirectional(expense.amountProperty(), NumberFormat.getNumberInstance());
     descriptionField.textProperty().bindBidirectional(descriptionProperty);
   }
   public void pressOkBtn(ActionEvent event) {
diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java
index 1e4401da7d355650006e414decabec0e8fb066a6..488cab6951bd65485fe0e0e9127ca4eeb5b7dfea 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/ExpensesController.java
@@ -97,34 +97,33 @@ public class ExpensesController {
     Dialog<Expense> dialog = new Dialog<>();
     dialog.initModality(Modality.APPLICATION_MODAL);
 
+    try {
+      // Set the Dialog's content to the loaded FXML file
+      dialog.getDialogPane().setContent(loader.load());
+    } catch (IOException e) {
+      e.printStackTrace();
+    }
+
+    // Get the controller for the loaded FXML file
+    AddExpenseController dialogController = loader.getController();
+
     if (event.getSource().equals(add)) {
       mode = DialogMode.ADD;
       dialogTitle = "Add expense";
-      newExpense = new Expense(1.1, false, ExpenseCategory.FOOD, "1/1/23");
 
-    } else if (event.getSource().equals(edit)) {
+    } else if (event.getSource().equals(edit) && expenseTableView.getSelectionModel().getSelectedItem() != null) {
       mode = DialogMode.EDIT;
       dialogTitle = "Edit expense";
       newExpense = expenseTableView.getSelectionModel().getSelectedItem();
+      dialogController.setExpense(newExpense);
     } else {
       return;
     }
 
-    try {
-      // Set the Dialog's content to the loaded FXML file
-      dialog.getDialogPane().setContent(loader.load());
-      dialog.setTitle(dialogTitle);
-    } catch (IOException e) {
-      e.printStackTrace();
-    }
-
-    AddExpenseController dialogController = loader.getController();
-    dialogController.setExpense(newExpense);
-    // Get the controller for the loaded FXML file
-
+    dialog.setTitle(dialogTitle);
     // Show the Dialog and wait for the user to close it
-    dialog.showAndWait();
 
+    dialog.showAndWait();
     //Get the newly created expense from the dialog pane
     newExpense = dialogController.getNewExpense();
 
@@ -132,7 +131,7 @@ public class ExpensesController {
     if (newExpense != null && mode == DialogMode.ADD) {
     expenseTableView.getItems().add(newExpense);
     } else {
-      System.out.println("expense is null");
+      System.out.println("expense is null or dialog mode is add");
     }
     expenseTableView.refresh();
   }