diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java
index ee55a6f098547b76952830ef57e81a1b642d3f16..1325d2968e40ab23d687559dc589f1b6a60d8a79 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/BudgetController.java
@@ -82,6 +82,7 @@ public class BudgetController implements FinanceController {
         //TODO disable return to main menu when creating budget because this is the same view as when you create budeget
         //TODO make budget item throw exception with negative amount
         //TODO specify error messgage for when amount is exceeded / duplicate exists
+        //todo properly close screen so things are saved
         //Initialize table columns
         categoryCol.setCellValueFactory(new PropertyValueFactory<BudgetItem, ExpenseCategory>("budgetCategory"));
         amountCol.setCellValueFactory(new PropertyValueFactory<BudgetItem, Double>("budgetAmount"));
@@ -98,13 +99,18 @@ public class BudgetController implements FinanceController {
         //sum.setText(String.valueOf(general.totalSum()));
     }
 
-    private ObservableList<PieChart.Data> createBudgetPieChart() { //TODO DOESNT WORK IF BUDGETITEM HAS NO BUDGET
-        return FXCollections.observableArrayList(
-            new Data("Food", general.getBudgetItem(ExpenseCategory.FOOD).getBudgetAmount()),
-            new Data("Books", general.getBudgetItem(ExpenseCategory.BOOKS).getBudgetAmount()),
-            new Data("Clothes", general.getBudgetItem(ExpenseCategory.CLOTHES).getBudgetAmount()),
-            new Data("Other", general.getBudgetItem(ExpenseCategory.OTHER).getBudgetAmount())
-        );
+    private ObservableList<PieChart.Data> createBudgetPieChart() throws IllegalArgumentException { //TODO DOESNT WORK IF BUDGETITEM HAS NO BUDGET
+        try {
+            return FXCollections.observableArrayList(
+                new Data("Food", general.getBudgetItem(ExpenseCategory.FOOD).getBudgetAmount()),
+                new Data("Books", general.getBudgetItem(ExpenseCategory.BOOKS).getBudgetAmount()),
+                new Data("Clothes",
+                    general.getBudgetItem(ExpenseCategory.CLOTHES).getBudgetAmount()),
+                new Data("Other", general.getBudgetItem(ExpenseCategory.OTHER).getBudgetAmount())
+            );
+        } catch(IllegalArgumentException iae) {
+            return FXCollections.observableArrayList();
+        }
     }
 
     /**
diff --git a/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java b/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java
index 8c4ba019c75c9457390fed1049d40f19c61ce1c0..d82af87d59766f4684afb42545bf3c7e88dc6a3f 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/controller/IncomeExpenseController.java
@@ -227,7 +227,6 @@ public class IncomeExpenseController implements FinanceController {
 
     if (sizeAf != sizeBf) {
       refreshTableView();
-      refreshPieCharts();
       refreshProgress();
     }
   }
@@ -334,6 +333,7 @@ public class IncomeExpenseController implements FinanceController {
     //Adds the new item to the register
     if (newIncome != null) {
       incomeRegister.addItem(newIncome);
+      incomePieChart.setData(createIncomePieChart());
     }
   }
 
@@ -369,11 +369,14 @@ public class IncomeExpenseController implements FinanceController {
     //Adds the new item to the register
     if (newExpense != null) {
       expenseRegister.addItem(newExpense);
+      expensePieChart.setData(createExpensePieChart());
     }
   }
 
   @FXML
   private void handleEditIncome(Income chosenIncome) {
+    //Create copy of chosenIncome before changes
+
     //Instantiate FXML loader and loads the popup for adding income
     FXMLLoader loader = new FXMLLoader();
     loader.setLocation(getClass().getResource("/view/AddIncome.fxml"));
@@ -398,8 +401,6 @@ public class IncomeExpenseController implements FinanceController {
     dialog.setTitle(dialogTitle);
     // Show the Dialog and wait for the user to close it
     dialog.showAndWait();
-
-    this.incomePieChart.setData(createIncomePieChart());
   }
 
   @FXML
diff --git a/src/main/resources/Economics/Income.register b/src/main/resources/Economics/Income.register
index 7f32fd99abb68a96e0ecdc3022635b56f7798124..24087f7391b76414335518578de3cff11a0b8cc5 100644
--- a/src/main/resources/Economics/Income.register
+++ b/src/main/resources/Economics/Income.register
@@ -1,10 +1,10 @@
-date=2023-03-31
+date=2023-04-10
 amount=499.0
 isRecurring=Not recurring
-category=SALARY
+category=GIFT
 
 date=2023-04-10
-amount=100.0
+amount=200.0
 isRecurring=Not recurring
-category=GIFT
+category=SALARY