Swiss cantons can currently set their own rules regarding littering on their streets. In some cantons, there are no penalties while others impose hefty fines. In Geneva, for example, people who are caught littering can be slapped with a penalty of up to 250 francs.
The federal government had wanted to fix a fine at national level to battle a problem which reportedly reportedly costs authorities 200 million francs a year.
But in a close vote on Wednesday, 96 MPs voted against the move to impose fines of up to 300 Swiss francs for littering while 86 MPs voted in favour.
Most of the opposition to the move – which was supported by both farmers and the country's environment minister Doris Leuthard - came from the right wing. Politicians from the Swiss People's Party recognized that littering was a problem, but argued public campaigns were the answer, and not standard fines.
But not all of the criticism came from the right. Socialist politician Priska Seiler Graf said the proposed change was useless.
“What sort of idiot drops their rubbish in front of a policeman,” she was quoted as saying by regional daily Basler Zeitung.
On Tuesday, the town of in Porrentruy in canton Jura said it would impose fines of 100 Swiss francs to adults who don't put their rubbish in the bins provided.