diff --git a/src/shared/Components/ErrorDisplayer/Error.cpp b/src/shared/Components/ErrorDisplayer/Error.cpp
index 2222d2da56dcab1e2c1fefd2a53bc0079d874de2..8f6a1df950bb7d98132b777523b7a8671fed1744 100644
--- a/src/shared/Components/ErrorDisplayer/Error.cpp
+++ b/src/shared/Components/ErrorDisplayer/Error.cpp
@@ -77,7 +77,7 @@ Error::Error(ErrorDisplayer* _displayer, QString _title, QString _description,
     adjustSize();
 }
 
-Error::~Error() { displayer->removeError(this); }
+Error::~Error() {}
 
 void Error::incrementCount(int msecDuration)
 {
@@ -86,8 +86,8 @@ void Error::incrementCount(int msecDuration)
     {
         countLabel.setText(QString::number(count));
     }
-    QTimer* timer = new QTimer(this);
-    connect(timer, &QTimer::timeout, this, &Error::decrementCount);
+    std::unique_ptr<QTimer> timer = std::make_unique<QTimer>(this);
+    connect(timer.get(), &QTimer::timeout, this, &Error::decrementCount);
     timer->start(msecDuration);
 }
 
diff --git a/src/shared/Components/ErrorDisplayer/ErrorDisplayer.cpp b/src/shared/Components/ErrorDisplayer/ErrorDisplayer.cpp
index dc8abee0a02ebfef71844815a815151e083c7149..be8af55d5733b16b0df0b62276d3506df60dfa1c 100644
--- a/src/shared/Components/ErrorDisplayer/ErrorDisplayer.cpp
+++ b/src/shared/Components/ErrorDisplayer/ErrorDisplayer.cpp
@@ -33,10 +33,10 @@ ErrorDisplayer::ErrorDisplayer(QWidget* _parent) : QWidget(_parent)
 
 ErrorDisplayer::~ErrorDisplayer()
 {
-    while (!errors.isEmpty())
+    /*while (!errors.isEmpty())
     {
         delete errors.takeFirst();
-    }
+    }*/
 }
 
 void ErrorDisplayer::createError(QString title, QString description,
@@ -44,27 +44,22 @@ void ErrorDisplayer::createError(QString title, QString description,
 {
     if (!errors.isEmpty())
     {
-        Error* lastError = errors.last();
+        auto& lastError = errors.last();
         if (lastError->compareError(title, description, type))
         {
             lastError->incrementCount(msecDuration);
             return;
         }
     }
-    Error* error = new Error(this, title, description, type, msecDuration);
-    layout.addWidget(error);
-    errors.append(error);
+    auto error =
+        std::make_unique<Error>(this, title, description, type, msecDuration);
+    auto* errorAddr = error.get();
+    layout.addWidget(errorAddr);
+    errors.append(std::move(error));
     error->show();
     reposition();
 }
 
-void ErrorDisplayer::removeError(Error* error)
-{
-    layout.removeWidget(error);
-    errors.removeAll(error);
-    reposition();
-}
-
 void ErrorDisplayer::reposition()
 {
     adjustSize();
diff --git a/src/shared/Components/ErrorDisplayer/ErrorDisplayer.h b/src/shared/Components/ErrorDisplayer/ErrorDisplayer.h
index 38d3c96212ad2cf499ac8aef207876ede347cfa9..9b6940b97d45f51adc5049c5c89e7d4b39b8ba57 100644
--- a/src/shared/Components/ErrorDisplayer/ErrorDisplayer.h
+++ b/src/shared/Components/ErrorDisplayer/ErrorDisplayer.h
@@ -41,13 +41,11 @@ public:
     void reposition();
 
 protected:
-    void removeError(Error* error);
-
     friend class Error;
 
 private:
     QWidget* parent;
     int index;
     QVBoxLayout layout;
-    QList<Error*> errors;
+    QList<std::unique_ptr<Error>> errors;
 };