diff --git a/include/core/utils/loader.h b/include/core/utils/loader.h
index 7dee3b5e1b7d546c288e09abe98abdc75aa41add..13fe987d736a47d50a52de2d86f519c3cea1a63b 100644
--- a/include/core/utils/loader.h
+++ b/include/core/utils/loader.h
@@ -37,7 +37,7 @@ class LoaderRaw: public Loader{
     void* resource_;
 public:
     LoaderRaw(std::string _file);
-    ~LoaderRaw();
+    virtual ~LoaderRaw();
     void load() override;
     void close() override;
 };
diff --git a/src/utils/loader.cpp b/src/utils/loader.cpp
index 00590ccda5ef8705a674702ef095a2759e79b59f..c11bb26671bdf6368de27b4637b708bc6b54e87b 100644
--- a/src/utils/loader.cpp
+++ b/src/utils/loader.cpp
@@ -28,7 +28,7 @@ Loader::Loader(std::string _file)
 {
     path_ = _file;
 }
-LoaderRaw::LoaderRaw(std::string _file) : Loader(_file)
+LoaderRaw::LoaderRaw(std::string _file) : Loader(_file), resource_(nullptr)
 {
     //
 }