--- kaffeine/Makefile.am
+++ kaffeine/Makefile.am
@@ -14,7 +14,7 @@
 
 
 noinst_LTLIBRARIES = libkaffeinenoinst.la
-libkaffeinenoinst_la_SOURCES = videowindow.cpp http.c inforow.cpp playlist.cpp urllistview.cpp postfilter.cpp convert.cpp myslider.cpp playlistitem.cpp
+libkaffeinenoinst_la_SOURCES = videowindow.cpp inforow.cpp playlist.cpp urllistview.cpp postfilter.cpp convert.cpp myslider.cpp playlistitem.cpp
 libkaffeinenoinst_la_LIBADD  = $(LIB_KDEUI) $(LIB_KFILE) $(LIB_KDECORE) $(LIB_QT) $(LIBSOCKET) -lkdeprint
 libkaffeinenoinst_la_LDFLAGS = $(all_libraries)
 
@@ -36,7 +36,7 @@
 profiledatadir = $(kde_datadir)/profiles
 
 
-EXTRA_DIST = $(profiledata_DATA) kaffeine.desktop kaffeine_part.desktop configwidget.cpp configwidget.h controlpanel.cpp controlpanel.h inforow.cpp inforow.h main.cpp playlist.cpp playlist.h splashwidget.cpp splashwidget.h urllistview.cpp urllistview.h videosettings.cpp videosettings.h videowindow.cpp videowindow.h xineconfig.cpp xineconfig.h kaffeine.cpp kaffeineapp.cpp kaffeineapp.h screenshotpreview.cpp screenshotpreview.h kaffeine.h kaffeine_part.h kaffeine_part.cpp equalizer.h equalizer.cpp systemtray.cpp systemtray.h fullscreenpanel.h fullscreenpanel.cpp filterdialog.cpp filterdialog.h postfilter.cpp postfilter.h convert.h convert.cpp myslider.h myslider.cpp wizarddialog.cpp wizarddialog.h http.c http.h playlistitem.h playlistitem.cpp deinterlacequality.h deinterlacequality.cpp
+EXTRA_DIST = $(profiledata_DATA) kaffeine.desktop kaffeine_part.desktop configwidget.cpp configwidget.h controlpanel.cpp controlpanel.h inforow.cpp inforow.h main.cpp playlist.cpp playlist.h splashwidget.cpp splashwidget.h urllistview.cpp urllistview.h videosettings.cpp videosettings.h videowindow.cpp videowindow.h xineconfig.cpp xineconfig.h kaffeine.cpp kaffeineapp.cpp kaffeineapp.h screenshotpreview.cpp screenshotpreview.h kaffeine.h kaffeine_part.h kaffeine_part.cpp equalizer.h equalizer.cpp systemtray.cpp systemtray.h fullscreenpanel.h fullscreenpanel.cpp filterdialog.cpp filterdialog.h postfilter.cpp postfilter.h convert.h convert.cpp myslider.h myslider.cpp wizarddialog.cpp wizarddialog.h playlistitem.h playlistitem.cpp deinterlacequality.h deinterlacequality.cpp
 
 
 install-data-local:
--- kaffeine/playlist.cpp
+++ kaffeine/playlist.cpp
@@ -1387,52 +1387,24 @@
 {
   Q_ULONG result;
   KURL::List kurlList;
-  char buf[10], mime[256];
 
   kdDebug(555) << "Check for ram playlist: " << kurl.prettyURL() << endl;
-  
-  if (kurl.isLocalFile())
-  {
-    QFile file( kurl.path() );
-    if (!file.open(IO_ReadOnly))
-    {
-       kdError(555) << "Can't open " << kurl.path() << endl;
-       return false;
-    }   
-    result = file.readBlock( buf, 4 );
-    file.close();
-    if (result != 4)
-    {
-      kdError(555) << "Can't read " << kurl.path() << endl;
-      return false;
-    }
+
+  if (!kurl.isLocalFile() && !kurl.protocol().startsWith("http")) {
+    kdError() << "PlaylistImport: ram: Download via " << kurl.protocol() << " protocol not supported." << endl;
+    return false;
   }
-  else
-  {
-    if ( kurl.protocol() == "http" )
-    {
 
-      result = http_peek( kurl.url(), 4, buf, mime );
+  kdDebug() << "PlaylistImport: Seems to be a ram playlist!" << endl;
 
-      if (result <= 0)
-      {
-        kdError(555) << "Can't open " << kurl.prettyURL() << endl;
-        return false;
-      }
-    }
-    else
-      return false;
-  }    
-  
-  if (buf[0]=='.' && buf[1]=='R' && buf[2]=='M' && buf[3]=='F')
-  {
-    kdDebug(555) << "This is a real media file" << endl;
+  QString localFile, url;
+  if (KIO::NetAccess::mimetype(kurl, topLevelWidget()) == "application/vnd.rn-realmedia") {
+    kdDebug() << "PlaylistImport: Seems to be a real media file" << endl;
     return false;
   }
 
   kdDebug(555) << "Seems to be a ram playlist" << endl;
 
-  QString localFile, url;
   if (KIO::NetAccess::download( kurl, localFile ))
   {
     QFile plFile( localFile );
