diff --git a/src/main/java/de/dpunkt/myaktion/services/CampaignServiceBean.java b/src/main/java/de/dpunkt/myaktion/services/CampaignServiceBean.java
index 430888ac30682e74c5c8bb3789fb086911d966c7..1cd029cf3177054862fa6c6f8c44b3c7340c5d0b 100644
--- a/src/main/java/de/dpunkt/myaktion/services/CampaignServiceBean.java
+++ b/src/main/java/de/dpunkt/myaktion/services/CampaignServiceBean.java
@@ -5,7 +5,6 @@
 
 package de.dpunkt.myaktion.services;
 
-import java.math.BigDecimal;
 import java.util.List;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -18,6 +17,8 @@ import javax.inject.Inject;
 import javax.persistence.EntityManager;
 import javax.persistence.TypedQuery;
 
+import org.hibernate.ogm.OgmSession;
+
 import de.dpunkt.myaktion.model.Campaign;
 import de.dpunkt.myaktion.model.Organizer;
 import de.dpunkt.myaktion.util.Log.TecLog;
@@ -25,7 +26,7 @@ import de.dpunkt.myaktion.util.Log.TecLog;
 /**
  * @author Julian
  */
-//@RolesAllowed("Organizer")
+@RolesAllowed("Organizer")
 @Stateless
 public class CampaignServiceBean implements CampaignService {
     // ----------------------------------------------------------------------------------------------
@@ -47,12 +48,15 @@ public class CampaignServiceBean implements CampaignService {
         TypedQuery<Campaign> query =
                 entityManager.createNamedQuery(Campaign.findByOrganizer, Campaign.class);
         query.setParameter("organizer", getLoggedinOrganizer());
+
         List<Campaign> campaigns = query.getResultList();
 
-        campaigns.forEach(
-                campaign -> campaign.setAmountDonatedSoFar(getAmountDonatedSoFar(campaign)));
+        for (Campaign campaign : campaigns) {
+            campaign.setAmountDonatedSoFar(getAmountDonatedSoFar(campaign));
+        }
 
-        logger.log(Level.INFO, "Loaded all campaign entities with query " + Campaign.findAll);
+        logger.log(Level.INFO,
+                "Loaded all campaign entities with query " + Campaign.findByOrganizer);
 
         return campaigns;
     }
@@ -62,6 +66,7 @@ public class CampaignServiceBean implements CampaignService {
     @Override
     public Campaign addCampaign(Campaign campaign) {
         Organizer organizer = getLoggedinOrganizer();
+
         campaign.setOrganizer(organizer);
         entityManager.persist(campaign);
 
@@ -98,14 +103,13 @@ public class CampaignServiceBean implements CampaignService {
 
     // ----------------------------------------------------------------------------------------------
 
-    private BigDecimal getAmountDonatedSoFar(Campaign campaign) {
-        TypedQuery<BigDecimal> query =
-                entityManager.createNamedQuery(Campaign.getAmountDonatedSoFar, BigDecimal.class);
-        query.setParameter("campaign", campaign);
+    private Double getAmountDonatedSoFar(Campaign campaign) {
+        OgmSession session = entityManager.unwrap(OgmSession.class);
 
-        BigDecimal result = query.getSingleResult();
+        Double result = session.createNamedQuery(Campaign.getAmountDonatedSoFar, Double.class)
+                .setParameter("campaign", campaign).uniqueResult();
         if (result == null)
-            result = BigDecimal.ZERO;
+            result = 0d;
 
         return result;
     }
@@ -113,9 +117,11 @@ public class CampaignServiceBean implements CampaignService {
     // ----------------------------------------------------------------------------------------------
 
     private Organizer getLoggedinOrganizer() {
-        String organizerEmail = sessionContext.getCallerPrincipal().getName();
+        String organizerEmail = sessionContext.getCallerPrincipal().getName();        
+        
         Organizer organizer = entityManager.createNamedQuery(Organizer.findByEmail, Organizer.class)
                 .setParameter("email", organizerEmail).getSingleResult();
+        
         return organizer;
     }