diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc
index cd1c190..c6a6e31 100644
--- a/libs/ardour/lv2_plugin.cc
+++ b/libs/ardour/lv2_plugin.cc
@@ -480,6 +480,7 @@ LV2Plugin::init(const void* c_plugin, framecnt_t rate)
 	if (state && _has_state_interface) {
 		lilv_state_restore(state, _impl->instance, NULL, NULL, 0, NULL);
 	}
+	lilv_state_free(state);
 #endif
 
 	_sample_rate = rate;
