diff --git a/org.eclipse.osbp.report/META-INF/MANIFEST.MF b/org.eclipse.osbp.report/META-INF/MANIFEST.MF
index 6793da8..669345e 100644
--- a/org.eclipse.osbp.report/META-INF/MANIFEST.MF
+++ b/org.eclipse.osbp.report/META-INF/MANIFEST.MF
@@ -55,3 +55,4 @@
 Export-Package: org.eclipse.osbp.report,
  org.eclipse.osbp.report.pdfservice
 Service-Component: OSGI-INF/org.eclipse.osbp.report.ReportProvider.xml
+Bundle-Activator: org.eclipse.osbp.report.Activator
diff --git a/org.eclipse.osbp.report/src/org/eclipse/osbp/report/Activator.java b/org.eclipse.osbp.report/src/org/eclipse/osbp/report/Activator.java
new file mode 100644
index 0000000..5b7ac9a
--- /dev/null
+++ b/org.eclipse.osbp.report/src/org/eclipse/osbp/report/Activator.java
@@ -0,0 +1,45 @@
+/**
+ *                                                                            
+ * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany)
+ *                                                                            
+ * All rights reserved. This program and the accompanying materials           
+ * are made available under the terms of the Eclipse Public License v1.0       
+ * which accompanies this distribution, and is available at                  
+ * http://www.eclipse.org/legal/epl-v10.html                                 
+ *                                                                            
+ * Contributors:   
+ * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation 
+ */
+ package org.eclipse.osbp.report;
+
+import org.eclipse.osbp.gitinfo.Loginfo;
+import org.osgi.framework.BundleActivator;
+import org.osgi.framework.BundleContext;
+
+public class Activator implements BundleActivator {
+
+	private static BundleContext context;
+
+	static BundleContext getContext() {
+		return context;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#start(org.osgi.framework.BundleContext)
+	 */
+	public void start(BundleContext bundleContext) throws Exception {
+		Loginfo li = new Loginfo();
+		li.print( Activator.class.getCanonicalName(), Activator.class.getClassLoader());
+		Activator.context = bundleContext;
+	}
+
+	/*
+	 * (non-Javadoc)
+	 * @see org.osgi.framework.BundleActivator#stop(org.osgi.framework.BundleContext)
+	 */
+	public void stop(BundleContext bundleContext) throws Exception {
+		Activator.context = null;
+	}
+
+}
