How do I remove the dash in the tag only for home page?

Hello,
I am trying to get the dash " - " to only show on non-home pages for my Wordpress site based on the <title> tag.
I have the following code in my header.php that I know if I remove it the dash disappears on all of the pages, which I don't want. So, on the home page I want it to say "Site Name" and on the other pages "Page - Site Name".

elseif (!(is_404()) && (is_single()) || (is_page())) {
wp_title(''); echo ' - '; }

The complete code in my <title></title> is…

<title>
<?php
if (function_exists('is_tag') && is_tag()) {
single_tag_title("Tag Archive for "); echo '" - '; }
elseif (is_archive()) {
wp_title(''); echo ' Archive - '; }
elseif (is_search()) {
echo 'Search for "'.wp_specialchars($s).'" - '; }
elseif (!(is_404()) && (is_single()) || (is_page())) {
wp_title(''); echo ' - '; }
elseif (is_404()) {
echo 'Not Found - '; }
if (is_home()) {
bloginfo('name'); echo ' - '; bloginfo('description'); }
else {
bloginfo('name'); }
if ($paged>1) {
echo ' - page '. $paged; }
?>
</title>

I have also tried taking out the dash on the following line in between echo ' - ', but that didn't work either.

if (is_home()) {
bloginfo('name'); echo ' - '; bloginfo('description'); }

Thanks,
Tim