diff --git a/lib/class/ref.class.php b/lib/class/ref.class.php
index c5f046cf82ed08c09cc987997f0696f76139b08b..4fa0f03915f75ebb28711010e5879f7352371577 100644
--- a/lib/class/ref.class.php
+++ b/lib/class/ref.class.php
@@ -17,9 +17,7 @@ class ref{
 		$this->konto = $k_buchung;
 		$explode = explode(";",$this->config->RefVerg);
 		for($i = 1; $i <= $this->config->RefEbenen; $i++){
-			if(!empty($explode[$i-1])){
-				$this->verg[$i] = $explode[$i-1];
-			}
+			$this->verg[$i] = $explode[$i-1];
 		}
 	}
 	
@@ -31,11 +29,12 @@ class ref{
 	
 	private function Ebenverguetung($uid,$werber,$ebene,$ressourcen){
 		//Bezahlung von Werber in Grundstufe
+		$user = userinfo($uid);
 		$verguetung = $ressourcen->umsatz /100 * $this->verg[$ebene];
-		$this->konto->set_var($werber,$verguetung,'+','Refzahlung ('. $uid .')');
-		if($ressourcen->refback > 0){
-			$refback = $verguetung / 100 * $ressourcen->refback;
-			$this->konto->set_var($werber,$refback,'-','Refback ('. $uid .'->'. $ressourcen->refback.'%)');
+		if($verguetung > 0){ $this->konto->set_var($werber,$verguetung,'+','Refzahlung ('. $user->nickname .')');}
+		$refback = $verguetung / 100 * $ressourcen->refback;
+		if($ressourcen->refback > 0 && $refback > 0){
+			$this->konto->set_var($werber,$refback,'-','Refback ('. $user->nickname .'->'. $ressourcen->refback.'%)');
 			$this->konto->set_var($uid,$refback,'+','Refback ('. $ressourcen->refback.'%)');
 		}
 		if($ebene == 1){
@@ -45,8 +44,7 @@ class ref{
 		$query = "SELECT * FROM ". PREFIX . WERBER ." WHERE werber = '$uid' ";
 		if($this->db->num_rows($query) != 0){
 			foreach($this->db->get_results($query) AS $res){
-				$ebene++;
-				$this->Ebenverguetung($res->uid,$werber,$ebene,$res);
+				$this->Ebenverguetung($res->uid,$werber,$ebene++,$res);
 			}
 		}
 	}
@@ -92,46 +90,41 @@ class ref{
 	}
 	
 	public function RefListe($uid){
-		$query = "SELECT * FROM ". PREFIX . WERBER ." WHERE werber = '$uid' ";
-		if($this->db->num_rows($query) > 0){
-			$aus = '<ul class="list-group">';
-			foreach($this->db->get_results($query) AS $res){
-				$user = userinfo($res->uid);
-				$refs = $this->RefAnzahl($res->uid);
-				$aus .= '<li class="list-group-item">';
-				$aus .= '<div class="row">
-							<div class="col">&nbsp;'.$user->nickname.'('.$res->uid.')</div>
-							<div class="col">
-								<form method="post" action="">
-									<input type="hidden" name="uid" value="'. $res->uid .'">
-									<div class="input-group">
-										<input type="text" class="form-control" name="refback" value="'. $res->refback.'">
-										<div class="input-group-append">
-											<span class="input-group-text">%</span>
-											<input type="submit" name="run[refback_save]" value="Save" class="btn btn-success btn-sm">
-										</div>
+		$aus = '<ul class="list-group">';
+		foreach($this->db->get_results("SELECT * FROM ". PREFIX . WERBER ." WHERE werber = '$uid' ") AS $res){
+			$user = userinfo($res->uid);
+			$refs = $this->RefAnzahl($res->uid);
+			$aus .= '<li class="list-group-item">';
+			$aus .= '<div class="row">
+						<div class="col">&nbsp;'.$user->nickname.'('.$res->uid.')</div>
+						<div class="col">
+							<form method="post" action="">
+								<input type="hidden" name="uid" value="'. $res->uid .'">
+								<div class="input-group">
+									<input type="text" class="form-control" name="refback" value="'. $res->refback.'">
+									<div class="input-group-append">
+										<span class="input-group-text">%</span>
+										<input type="submit" name="run[refback_save]" value="Save" class="btn btn-success btn-sm">
 									</div>
-								</form>
-							</div>
-							<div class="col">Umsatz: '. number_format($res->umsatz,2,',','.') .' '. $this->config->waehrung .'</div>
-							<div class="col">Refs: '. $refs .'</div>
-						</div>';
-				
-				if($refs != 0){
-					$aus .= '
-						<div class="collapse" id="refs_'. $res->uid .'">
-							<div class="card card-body">
-								'. $this->RefRefListe($res->uid,1) .'
-							</div>
+								</div>
+							</form>
 						</div>
-					';
-				}
-				$aus .= '</li>';
+						<div class="col">Umsatz: '. number_format($res->umsatz,2,',','.') .' '. $this->config->waehrung .'</div>
+						<div class="col">Refs: '. $refs .'</div>
+					</div>';
+			
+			if($refs != 0){
+				$aus .= '
+					<div class="collapse" id="refs_'. $res->uid .'">
+						<div class="card card-body">
+							'. $this->RefRefListe($res->uid,1) .'
+						</div>
+					</div>
+				';
 			}
-			$aus .= '</ul>';
-		}else{
-			$aus = '<div class=" alert alert-info">Du hast noch keinen User geworben.</div>';
+			$aus .= '</li>';
 		}
+		$aus .= '</ul>';
 		return $aus;
 	}
 	
@@ -145,6 +138,8 @@ class ref{
 	
 	public function RefBackSave($post){
 		$this->make_array($post);
+		if($this->post['refback'] > 100){ $this->error = 1; $this->meldung = REFBACK_ERROR_ZU_VIEL;}
+		if($this->post['refback'] < 0){ $this->error = 1; $this->meldung = REFBACK_ERROR_ZU_WENIG;}
 		if($this->db->num_rows("SELECT uid FROM ". PREFIX . WERBER ." WHERE uid = '". $this->post['uid'] ."' AND werber = '". $this->session['uid'] ."' ") == 1){
 			if($this->db->update(PREFIX . WERBER, array("refback" => $this->post['refback']), array("uid" => $this->post['uid'])) == true){
 				meldung(0,REFBACK_SAVE_TRUE);
diff --git a/lib/lang/lang.de.php b/lib/lang/lang.de.php
index 6af6e027e00bb0c6213108e1f0f46acad789aee4..f5d4609c6fa877243a16487da61c6721de603529 100644
--- a/lib/lang/lang.de.php
+++ b/lib/lang/lang.de.php
@@ -90,5 +90,7 @@
 	
 	//Refback
 	define("REFBACK_ERROR_USER_FALSE","Du kannst nur den Refback deiner eigenen Refs bearbeiten.<br>");
+	define("REFBACK_ERROR_ZU_VIEL","Du kannst nicht mehr als 100% Refback geben.");
+	define("REFBACK_ERROR_ZU_WENIG","Du kannst nicht weniger als 0% geben.");
 	define("REFBACK_SAVE_TRUE","Der Refback wurde erfolgreich gespeichert.<br>");
 	define("REFBACK_SAVE_FALSE","Der Refback konnte nicht gespchert werden.<br>");