diff --git a/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogManager.java b/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogManager.java
index bc56ac377b7139a14d31518c763a169769ac7a0c..4ad7e99eb7d4058271b74c147a7c19f1974aedc1 100644
--- a/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogManager.java
+++ b/briar-api/src/main/java/org/briarproject/briar/api/blog/BlogManager.java
@@ -22,9 +22,9 @@ public interface BlogManager {
 	ClientId CLIENT_ID = new ClientId("org.briarproject.briar.blog");
 
 	/**
-	 * Adds a blog from the given author.
+	 * Adds the given {@link Blog).}
 	 */
-	Blog addBlog(Author author) throws DbException;
+	void addBlog(Blog b) throws DbException;
 
 	/**
 	 * Adds the given {@link Blog} within the given {@link Transaction}.
diff --git a/briar-core/src/main/java/org/briarproject/briar/blog/BlogManagerImpl.java b/briar-core/src/main/java/org/briarproject/briar/blog/BlogManagerImpl.java
index 845e69c69443a06216ce90515bb66af1cba47c22..e42932e1946f2b4d059a1cc476d170ce2a506de3 100644
--- a/briar-core/src/main/java/org/briarproject/briar/blog/BlogManagerImpl.java
+++ b/briar-core/src/main/java/org/briarproject/briar/blog/BlogManagerImpl.java
@@ -168,9 +168,7 @@ class BlogManagerImpl extends BdfIncomingMessageHook implements BlogManager,
 	}
 
 	@Override
-	public Blog addBlog(Author author) throws DbException {
-		Blog b = blogFactory.createBlog(author);
-
+	public void addBlog(Blog b) throws DbException {
 		Transaction txn = db.startTransaction(false);
 		try {
 			db.addGroup(txn, b.getGroup());
@@ -178,7 +176,6 @@ class BlogManagerImpl extends BdfIncomingMessageHook implements BlogManager,
 		} finally {
 			db.endTransaction(txn);
 		}
-		return b;
 	}
 
 	@Override
diff --git a/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java
index e13718352e8a950e51058205bfdf238ad8ee5835..b66b98124d5c99b42996344397e104b42420eb69 100644
--- a/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java
+++ b/briar-core/src/test/java/org/briarproject/briar/sharing/BlogSharingIntegrationTest.java
@@ -11,6 +11,7 @@ import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
 import org.briarproject.bramble.api.sync.GroupId;
 import org.briarproject.bramble.test.TestDatabaseModule;
 import org.briarproject.briar.api.blog.Blog;
+import org.briarproject.briar.api.blog.BlogFactory;
 import org.briarproject.briar.api.blog.BlogInvitationRequest;
 import org.briarproject.briar.api.blog.BlogInvitationResponse;
 import org.briarproject.briar.api.blog.BlogManager;
@@ -42,7 +43,7 @@ public class BlogSharingIntegrationTest
 		extends BriarIntegrationTest<BriarIntegrationTestComponent> {
 
 	private BlogManager blogManager0, blogManager1;
-	private Blog blog0, blog1, blog2;
+	private Blog blog0, blog1, blog2, rssBlog;
 	private SharerListener listener0;
 	private InviteeListener listener1;
 
@@ -69,6 +70,8 @@ public class BlogSharingIntegrationTest
 		blog0 = blogManager0.getPersonalBlog(author0);
 		blog1 = blogManager0.getPersonalBlog(author1);
 		blog2 = blogManager0.getPersonalBlog(author2);
+		BlogFactory blogFactory = c0.getBlogFactory();
+		rssBlog = blogFactory.createFeedBlog(author0);
 
 		// initialize waiters fresh for each test
 		eventWaiter = new Waiter();
@@ -127,8 +130,7 @@ public class BlogSharingIntegrationTest
 
 		// get sharing group and assert group message count
 		GroupId g = contactGroupFactory.createContactGroup(CLIENT_ID,
-				contact1From0)
-				.getId();
+				contact1From0).getId();
 		assertGroupCount(messageTracker0, g, 1, 0);
 
 		// sync first request message
@@ -146,6 +148,7 @@ public class BlogSharingIntegrationTest
 		// blog was added successfully
 		assertEquals(0, blogSharingManager0.getInvitations().size());
 		assertEquals(3, blogManager1.getBlogs().size());
+		assertTrue(blogManager1.getBlogs().contains(blog2));
 
 		// invitee has one invitation message from sharer
 		List<InvitationMessage> list =
@@ -160,6 +163,7 @@ public class BlogSharingIntegrationTest
 				assertFalse(invitation.isAvailable());
 				assertEquals(blog2.getAuthor().getName(),
 						invitation.getBlogAuthorName());
+				assertFalse(invitation.getShareable().isRssFeed());
 				assertEquals(contactId1From0, invitation.getContactId());
 				assertEquals("Hi!", invitation.getMessage());
 			} else {
@@ -185,6 +189,81 @@ public class BlogSharingIntegrationTest
 		assertGroupCount(messageTracker1, g, 2, 1);
 	}
 
+	@Test
+	public void testSuccessfulSharingWithRssBlog() throws Exception {
+		// initialize and let invitee accept all requests
+		listenToEvents(true);
+
+		// subscribe to RSS blog
+		blogManager0.addBlog(rssBlog);
+
+		// send invitation
+		blogSharingManager0.sendInvitation(rssBlog.getId(), contactId1From0,
+				"Hi!", clock.currentTimeMillis());
+
+		// invitee has own blog and that of the sharer
+		assertEquals(2, blogManager1.getBlogs().size());
+
+		// get sharing group and assert group message count
+		GroupId g = contactGroupFactory.createContactGroup(CLIENT_ID,
+				contact1From0).getId();
+		assertGroupCount(messageTracker0, g, 1, 0);
+
+		// sync first request message
+		sync0To1(1, true);
+		eventWaiter.await(TIMEOUT, 1);
+		assertTrue(listener1.requestReceived);
+		assertGroupCount(messageTracker1, g, 2, 1);
+
+		// sync response back
+		sync1To0(1, true);
+		eventWaiter.await(TIMEOUT, 1);
+		assertTrue(listener0.responseReceived);
+		assertGroupCount(messageTracker0, g, 2, 1);
+
+		// blog was added successfully
+		assertEquals(0, blogSharingManager0.getInvitations().size());
+		assertEquals(3, blogManager1.getBlogs().size());
+		assertTrue(blogManager1.getBlogs().contains(rssBlog));
+
+		// invitee has one invitation message from sharer
+		List<InvitationMessage> list =
+				new ArrayList<InvitationMessage>(blogSharingManager1
+						.getInvitationMessages(contactId0From1));
+		assertEquals(2, list.size());
+		// check other things are alright with the message
+		for (InvitationMessage m : list) {
+			if (m instanceof BlogInvitationRequest) {
+				BlogInvitationRequest invitation =
+						(BlogInvitationRequest) m;
+				assertFalse(invitation.isAvailable());
+				assertEquals(rssBlog.getAuthor().getName(),
+						invitation.getBlogAuthorName());
+				assertTrue(invitation.getShareable().isRssFeed());
+				assertEquals(contactId1From0, invitation.getContactId());
+				assertEquals("Hi!", invitation.getMessage());
+			} else {
+				BlogInvitationResponse response =
+						(BlogInvitationResponse) m;
+				assertEquals(contactId0From1, response.getContactId());
+				assertTrue(response.wasAccepted());
+				assertTrue(response.isLocal());
+			}
+		}
+		// sharer has own invitation message and response
+		assertEquals(2, blogSharingManager0.getInvitationMessages(
+				contactId1From0).size());
+		// blog can not be shared again
+		assertFalse(blogSharingManager0.canBeShared(rssBlog.getId(),
+				contact1From0));
+		assertFalse(blogSharingManager1.canBeShared(rssBlog.getId(),
+				contact0From1));
+
+		// group message count is still correct
+		assertGroupCount(messageTracker0, g, 2, 1);
+		assertGroupCount(messageTracker1, g, 2, 1);
+	}
+
 	@Test
 	public void testDeclinedSharing() throws Exception {
 		// initialize and let invitee deny all requests
diff --git a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java
index c114930bf8c330cb8bfd5ea58fcfe107b13ce773..679d7772aa7798c863aa4129dfbd27e347760b97 100644
--- a/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java
+++ b/briar-core/src/test/java/org/briarproject/briar/test/BriarIntegrationTestComponent.java
@@ -24,6 +24,7 @@ import org.briarproject.bramble.test.TestDatabaseModule;
 import org.briarproject.bramble.test.TestPluginConfigModule;
 import org.briarproject.bramble.test.TestSeedProviderModule;
 import org.briarproject.bramble.transport.TransportModule;
+import org.briarproject.briar.api.blog.BlogFactory;
 import org.briarproject.briar.api.blog.BlogManager;
 import org.briarproject.briar.api.blog.BlogSharingManager;
 import org.briarproject.briar.api.client.MessageTracker;
@@ -138,4 +139,6 @@ public interface BriarIntegrationTestComponent {
 	TransportPropertyManager getTransportPropertyManager();
 
 	AuthorFactory getAuthorFactory();
+
+	BlogFactory getBlogFactory();
 }