Index: /CKEditor/branches/features/fullpage/_source/plugins/preview/plugin.js
===================================================================
--- /CKEditor/branches/features/fullpage/_source/plugins/preview/plugin.js	(revision 4617)
+++ /CKEditor/branches/features/fullpage/_source/plugins/preview/plugin.js	(revision 4618)
@@ -17,12 +17,14 @@
 		{
 			var sHTML,
+				config = editor.config,
+				baseTag = config.baseHref ? '<base href="' + config.baseHref + '"/>' : '',
 				isCustomDomain = CKEDITOR.env.isCustomDomain();
-			if ( editor.config.fullPage )
-				sHTML = editor.getData();
+
+			if ( config.fullPage )
+				sHTML = editor.getData().replace( /<head>/, '$&' + baseTag );
 			else
 			{
 				var bodyHtml = '<body ',
-					body = CKEDITOR.document.getBody(),
-					baseTag = ( editor.config.baseHref.length > 0 ) ? '<base href="' + editor.config.baseHref + '" _cktemp="true"></base>' : '';
+						body = CKEDITOR.document.getBody();
 
 				if ( body.getAttribute( 'id' ) )
Index: /CKEditor/branches/features/fullpage/_source/plugins/wysiwygarea/plugin.js
===================================================================
--- /CKEditor/branches/features/fullpage/_source/plugins/wysiwygarea/plugin.js	(revision 4617)
+++ /CKEditor/branches/features/fullpage/_source/plugins/wysiwygarea/plugin.js	(revision 4618)
@@ -582,6 +582,7 @@
 								isLoadingData = true;
 
-								var fullPage = editor.config.fullPage,
-									docType = editor.config.docType;
+								var config = editor.config,
+									fullPage = config.fullPage,
+									docType = config.docType;
 
 								// Build the additional stuff to be included into <head>.
@@ -589,11 +590,10 @@
 									'<style type="text/css" cke_temp="1">' +
 										editor._.styles.join( '\n' ) +
-									'</style>';
-
-								!fullPage && ( headExtra =
+									'</style>' +
 									'<link type="text/css" rel="stylesheet" href="' +
 									[].concat( editor.config.contentsCss ).join( '"><link type="text/css" rel="stylesheet" href="' ) +
-									'">' +
-									headExtra );
+									'">';
+
+								var baseTag = config.baseHref ? '<base href="' + config.baseHref + '" cke_temp="1" />' : '';
 
 								if ( fullPage )
@@ -625,4 +625,8 @@
 										data = data.replace( /<html[^>]*>/, '$&<head><title></title></head>' ) ;
 
+									// The base must be the first tag in the HEAD, e.g. to get relative
+									// links on styles.
+									baseTag && ( data = data.replace( /<head>/, '$&' + baseTag ) );
+
 									// Inject the extra stuff into <head>.
 									// Attention: do not change it before testing it well. (V2)
@@ -641,4 +645,5 @@
 										'<html dir="' + editor.config.contentsLangDirection + '">' +
 										'<head>' +
+											baseTag +
 											headExtra +
 										'</head>' +
