diff --git a/events/events_test.go b/events/events_test.go
index d0c9ce0..1bdcd54 100644
--- a/events/events_test.go
+++ b/events/events_test.go
@@ -345,6 +345,36 @@
 
 		close(done)
 	})
+
+	It("should be able to read apid version from PluginsInitialized event", func(done Done) {
+		xData := make(map[string]interface{})
+		xData["schemaVersion"] = "1.2.3"
+		p := func(s apid.Services) (pd apid.PluginData, err error) {
+			pd = apid.PluginData{
+				Name:      "test plugin",
+				Version:   "1.0.0",
+				ExtraData: xData,
+			}
+			return
+		}
+		apid.RegisterPlugin(p)
+
+		apidVersion := "dummy_version"
+
+		h := func(event apid.Event) {
+			defer GinkgoRecover()
+
+			if pie, ok := event.(apid.PluginsInitializedEvent); ok {
+
+				apid.Events().Close()
+				Expect(pie.ApidVersion).To(Equal(apidVersion))
+				close(done)
+			}
+		}
+		apid.Events().ListenFunc(apid.SystemEventsSelector, h)
+
+		apid.InitializePlugins(apidVersion)
+	})
 })
 
 func createDummyPlugin(id int) apid.PluginInitFunc{
