diff --git a/public_html/deployment/classes/projectlist.class.php b/public_html/deployment/classes/projectlist.class.php
index 7ecdcc46eb69bf2fb988704ab47f539f12775d04..396a79eefee9e191646f6717883de39f0b63ee19 100644
--- a/public_html/deployment/classes/projectlist.class.php
+++ b/public_html/deployment/classes/projectlist.class.php
@@ -56,6 +56,7 @@ class projectlist extends base{
         $sTrClass = "trproject";
         $sColClass = "tdphase";
 
+        $sNone='none';
         $oPrj1 = new project();
         $oHtml=new htmlguielements();
 
@@ -96,6 +97,7 @@ class projectlist extends base{
             }
             $aProgress=$oPrj->getProgress();
             $sPrjGroup=$oPrj->getProjectGroup();
+            $sPrjGroup=$sPrjGroup?$sPrjGroup:$sNone;
 
             $sClasses=$sPrj . ' ' . $sTrClass
                 . ' trprogress'
@@ -116,14 +118,20 @@ class projectlist extends base{
 
 
             if($sPrjGroup){
-                if(!isset($aPrjGroups[$sPrjGroup])){
-                    $aPrjGroups[$sPrjGroup]=0;
-                    $sPrjGroupFilter.='<option value="' . $sPrjGroup . '">' . $oPrj->getProjectGroupLabel() . '</option>';
+                $sPrjLabel=$oPrj->getProjectGroupLabel();
+                $sPrjLabel=$sPrjLabel ? $sPrjLabel : $sNone;
+                if(!isset($aPrjGroups[$sPrjLabel])){
+                    $aPrjGroups[$sPrjLabel]=[
+                        'id'=>$sPrjGroup,
+                        'count'=>1
+                    ];
+                    // $sPrjGroupFilter.='<option value="' . $sPrjGroup . '">' . $oPrj->getProjectGroupLabel() . '</option>';
                 } else {
-                    $aPrjGroups[$sPrjGroup]++;
+                    $aPrjGroups[$sPrjLabel]['count']++;
                 }
             }
 
+
             $sOut2 .= '<div class="' . $sClasses . ' prjbox"><div class="title">'
                     .$oHtml->getLink(array(
                         'href'=>'#',
@@ -192,6 +200,20 @@ class projectlist extends base{
             $sRowHead1 = '';
             $sRowHead2 = '';
 
+            $aGrouplist=array_keys($aPrjGroups);
+            sort($aGrouplist);
+
+            $iNone=isset($aPrjGroups[$sNone]['count']) && $aPrjGroups[$sNone]['count'] ? $aPrjGroups[$sNone]['count'] : 0;
+            $sPrjGroupFilter.= ($iNone ? '<option value="none">'.t("none").' ('.$iNone.')</option>' : '')
+                . '<option value="">-----</option>'
+            ;
+            foreach ($aGrouplist as $sLabel){
+                $sId=$aPrjGroups[$sLabel]['id'];
+                $iCount=$aPrjGroups[$sLabel]['count'];
+                
+                $sPrjGroupFilter.=($sLabel!=$sNone) ? '<option value="' . $sId . '">' . $sLabel . ' ('.$iCount.')</option>' : '';
+            }
+
             foreach (array_keys($oPrj1->getPhases()) as $sPhase) {
                 // Anzahl colspan ist hartcodiert :-/
                 $sRowHead1.='<th class="' . $sPhase . ' ' . $sColClass . '" colspan="3">' . $oHtml->getIcon('phase').$sPhase . '</th>';