diff --git a/src/libtomahawk/accounts/AccountModel.cpp b/src/libtomahawk/accounts/AccountModel.cpp
index 17c1a14b6..4b7f66aad 100644
--- a/src/libtomahawk/accounts/AccountModel.cpp
+++ b/src/libtomahawk/accounts/AccountModel.cpp
@@ -76,8 +76,12 @@ AccountModel::loadData()
         if ( AtticaManager::instance()->hasCustomAccountForAttica( content.id() ) )
         {
             Account* acct = AtticaManager::instance()->customAccountForAttica( content.id() );
-            m_accounts << new AccountModelNode( acct );
-            allAccounts.removeAll( acct );
+            Q_ASSERT( acct );
+            if ( acct )
+            {
+                m_accounts << new AccountModelNode( acct );
+                allAccounts.removeAll( acct );
+            }
         } else
         {
             m_accounts << new AccountModelNode( content );
diff --git a/src/libtomahawk/tomahawksettings.cpp b/src/libtomahawk/tomahawksettings.cpp
index aa9baa5eb..11f45aa03 100644
--- a/src/libtomahawk/tomahawksettings.cpp
+++ b/src/libtomahawk/tomahawksettings.cpp
@@ -82,6 +82,16 @@ TomahawkSettings::doInitialSetup()
 {
     // by default we add a local network resolver
     addAccount( "sipzeroconf_autocreated" );
+
+    // Add a last.fm account for scrobbling and infosystem
+    const QString accountKey = QString( "lastfmaccount_%1" ).arg( QUuid::createUuid().toString().mid( 1, 8 ) );
+    addAccount( accountKey );
+
+    beginGroup( "accounts/" + accountKey );
+    setValue( "enabled", false );
+    setValue( "autoconnect", true );
+    setValue( "types", QStringList() << "ResolverType" << "StatusPushType" );
+    endGroup();
 }