Index: /controller/wpsg_ShopController.class.php
===================================================================
--- /controller/wpsg_ShopController.class.php	(revision 7126)
+++ /controller/wpsg_ShopController.class.php	(revision 7127)
@@ -21,4 +21,5 @@
 		/** Alle Versandkosten der aktivierten Module */
 		var $arShipping;
+		var $arShippingAll;
 
 		/** Versandarten wurden schon zusammengefÃŒhrt */
@@ -2967,4 +2968,6 @@
 			$this->callMods('addPayment', array(&$this->arPayment));
 
+            $this->callMods('addShipping', array(&$this->arShippingAll, true));
+            
 		} // public function addShipPay()
 
Index: /model/wpsg_product.class.php
===================================================================
--- /model/wpsg_product.class.php	(revision 7126)
+++ /model/wpsg_product.class.php	(revision 7127)
@@ -470,4 +470,6 @@
 		{
 
+		    return true;
+		    
 			$arAllowedShipping = explode(',', $this->allowedshipping);
 			$arAllowedShipping = wpsg_trim($arAllowedShipping, array('', '0'));
@@ -480,4 +482,10 @@
 			}
 
+			if ($this->shop->hasMod('wpsg_mod_downloadprodukte') && $this->shop->callMod('wpsg_mod_downloadprodukte', 'getProdFiles',[$this->id]) !== false) {
+			    
+			    return true;
+			    
+            }
+			
 			return false;
 
@@ -574,13 +582,42 @@
 		{
 
-			if (!$this->hasLimitedShipping()) return array();
-			else
-			{
-
-				$arShipping = wpsg_trim((array)explode(',', $this->allowedshipping), '0');
-
-				return $arShipping;
-
-			}
+            $arShipping = wpsg_trim((array)explode(',', $this->allowedshipping), ['', '0']);
+            
+            if (wpsg_isSizedArray($arShipping)) return $arShipping;
+            else {
+                
+                $arShipping = array_keys($this->shop->arShippingAll);
+
+                if ($this->shop->hasMod('wpsg_mod_downloadprodukte')) {
+                    
+                    if ($this->shop->callMod('wpsg_mod_downloadprodukte', 'getProdFiles',[$this->id]) === false) {
+
+                        unset($arShipping[array_search('601', $arShipping)]);
+
+                    } else {
+                        
+                        $arShipping = ['601'];
+                        
+                    }
+                        
+                }
+
+                if ($this->shop->hasMod('wpsg_mod_downloadplus')) {
+
+                    if ($this->shop->callMod('wpsg_mod_downloadplus', 'isPDFProdukt',[$this->id]) === false) {
+
+                        unset($arShipping[array_search('101', $arShipping)]);
+
+                    } else {
+
+                        $arShipping = ['101'];
+
+                    }
+
+                }
+
+                return $arShipping;
+                
+            } 
 
 		} // public function getAllowedShipping()
Index: /mods/wpsg_mod_downloadplus.class.php
===================================================================
--- /mods/wpsg_mod_downloadplus.class.php	(revision 7126)
+++ /mods/wpsg_mod_downloadplus.class.php	(revision 7127)
@@ -647,4 +647,6 @@
     {
 
+        return;
+        
         if (!array_key_exists($this->id, $arShipping)) return;
 
Index: /mods/wpsg_mod_downloadprodukte.class.php
===================================================================
--- /mods/wpsg_mod_downloadprodukte.class.php	(revision 7126)
+++ /mods/wpsg_mod_downloadprodukte.class.php	(revision 7127)
@@ -227,5 +227,5 @@
 		 * @return array Files
 		 */
-		private function getProdFiles($produkt_id)
+		public function getProdFiles($produkt_id)
 		{
 
@@ -382,4 +382,6 @@
 		{ 
 			
+		    return;
+		    
 			if (!wpsg_isSizedArray($arShipping) || !array_key_exists($this->id, $arShipping)) return;
 			
