diff --git a/dependencies/subprojects/animationwindow/include/Image.h b/dependencies/subprojects/animationwindow/include/Image.h
index f9af2596fef3bee9388e67fba200adea3cdeb076..a249f2b7480dafa45a8d06df45e201aca8d6c78f 100644
--- a/dependencies/subprojects/animationwindow/include/Image.h
+++ b/dependencies/subprojects/animationwindow/include/Image.h
@@ -13,6 +13,7 @@ namespace TDT4102 {
     public:
         explicit Image();
         explicit Image(std::filesystem::path pathToImageFile);
+        ~Image();
 
         int width = 0;
         int height = 0;
diff --git a/dependencies/subprojects/animationwindow/src/Image.cpp b/dependencies/subprojects/animationwindow/src/Image.cpp
index 42c1987a178ca92c5ba5a7a5af2fbd757c6fad9c..8655f9d044ec7cac1e713237b11f75bf2dae4033 100644
--- a/dependencies/subprojects/animationwindow/src/Image.cpp
+++ b/dependencies/subprojects/animationwindow/src/Image.cpp
@@ -34,3 +34,10 @@ void TDT4102::Image::draw(SDL_Renderer *renderer, TDT4102::Point location, int i
 
     SDL_RenderCopy(renderer, texture, nullptr, &imageBounds);
 }
+
+TDT4102::Image::~Image() {
+    if (texture != nullptr) {
+        SDL_DestroyTexture(texture);
+        texture = nullptr;
+    }
+}