--- obex-data-server-0.4.5.orig/src/ods-obex.c
+++ obex-data-server-0.4.5/src/ods-obex.c
@@ -1016,7 +1016,7 @@
 				break;
 		}
 	}
-	if (obex_context->remote && strcmp (obex_context->type, LST_TYPE)) {
+	if (obex_context->remote && obex_context->type && strcmp (obex_context->type, LST_TYPE)) {
 		/* If we have name header but type is NOT x-obex/folder-listing */
 		obex_context->local = g_build_filename (current_path,
 		                                        obex_context->remote,
@@ -1046,6 +1046,13 @@
 
 	OBEX_ObjectReParseHeaders (obex_context->obex_handle, object);
 
+	/* Samsung phones have been known to cause only remote to be non-null.
+	 * This seems to fix things, at least for simple cases.
+	 */
+	if (!obex_context->local && !obex_context->type && obex_context->remote) {
+		asprintf (&obex_context->local, "%s/%s", current_path, obex_context->remote);
+	}
+
 	if (obex_context->local) {
 		g_message ("Serving local file");
 		/* open local file for reading */
