diff --git a/l10n/l10n.pl b/l10n/l10n.pl
index 26ed4ecba30a932082014d1280e5e6eea9152668..b4ad1d034dd27dbcede78f2bb23d01adaac28d10 100644
--- a/l10n/l10n.pl
+++ b/l10n/l10n.pl
@@ -145,7 +145,7 @@ elsif( $task eq 'write' ){
 			my @js_strings = ();
 			my $plurals;
 
-			foreach my $string ( @{$array} ){
+			TRANSLATIONS: foreach my $string ( @{$array} ){
 				if( $string->msgid() eq '""' ){
 					# Translator information
 					$plurals = getPluralInfo( $string->msgstr());
@@ -157,6 +157,7 @@ elsif( $task eq 'write' ){
 					$identifier =~ s/"/_/g;
 
 					foreach my $variant ( sort { $a <=> $b} keys( %{$string->msgstr_n()} )){
+						next TRANSLATIONS if $string->msgstr_n()->{$variant} eq '""';
 						push( @variants, $string->msgstr_n()->{$variant} );
 					}
 
@@ -165,7 +166,7 @@ elsif( $task eq 'write' ){
 				}
 				else{
 					# singular translations
-					next if $string->msgstr() eq '""';
+					next TRANSLATIONS if $string->msgstr() eq '""';
 					push( @strings, $string->msgid()." => ".$string->msgstr());
 					push( @js_strings, $string->msgid()." : ".$string->msgstr());
 				}