diff --git a/FileIO/Legacy/OGSIOVer4.cpp b/FileIO/Legacy/OGSIOVer4.cpp
index 2b44724773450be12cff0663314568dfe90f2a2c..d8b8095bc89274cc052f3917b18378522ecfa08c 100644
--- a/FileIO/Legacy/OGSIOVer4.cpp
+++ b/FileIO/Legacy/OGSIOVer4.cpp
@@ -592,8 +592,12 @@ bool readGLIFileV4(const std::string& fname, GEOObjects* geo, std::string& uniqu
 
 	if (!ply_vec->empty())
 		geo->addPolylineVec(ply_vec, unique_name, ply_names);  // KR: insert into GEOObjects if not empty
+	else
+		delete ply_vec;
 	if (!sfc_vec->empty())
 		geo->addSurfaceVec(sfc_vec, unique_name, sfc_names);  // KR: insert into GEOObjects if not empty
+	else
+		delete sfc_vec;
 
 	if (errors.empty())
 		return true;