diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index a9297996778c867bc01e71572566436b8d10de30..ccc4b1401addf32cd783e71673d9d4166dd6d8a2 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -677,6 +677,7 @@ var FileList={
 };
 
 $(document).ready(function(){
+	var isPublic = !!$('#isPublic').val();
 
 	// handle upload events
 	var file_upload_start = $('#file_upload_start');
@@ -924,29 +925,32 @@ $(document).ready(function(){
 		return (params && params.dir) || '/';
 	}
 
-	// fallback to hashchange when no history support
-	if (!window.history.pushState){
-		$(window).on('hashchange', function(){
-			FileList.changeDirectory(parseCurrentDirFromUrl(), false);
-		});
-	}
-	window.onpopstate = function(e){
-		var targetDir;
-		if (e.state && e.state.dir){
-			targetDir = e.state.dir;
-		}
-		else{
-			// read from URL
-			targetDir = parseCurrentDirFromUrl();
+	// disable ajax/history API for public app (TODO: until it gets ported)
+	if (!isPublic){
+		// fallback to hashchange when no history support
+		if (!window.history.pushState){
+			$(window).on('hashchange', function(){
+				FileList.changeDirectory(parseCurrentDirFromUrl(), false);
+			});
 		}
-		if (targetDir){
-			FileList.changeDirectory(targetDir, false);
+		window.onpopstate = function(e){
+			var targetDir;
+			if (e.state && e.state.dir){
+				targetDir = e.state.dir;
+			}
+			else{
+				// read from URL
+				targetDir = parseCurrentDirFromUrl();
+			}
+			if (targetDir){
+				FileList.changeDirectory(targetDir, false);
+			}
 		}
-	}
 
-	if (parseInt($('#ajaxLoad').val(), 10) === 1){
-		// need to initially switch the dir to the one from the hash (IE8)
-		FileList.changeDirectory(parseCurrentDirFromUrl(), false, true);
+		if (parseInt($('#ajaxLoad').val(), 10) === 1){
+			// need to initially switch the dir to the one from the hash (IE8)
+			FileList.changeDirectory(parseCurrentDirFromUrl(), false, true);
+		}
 	}
 
 	FileList.createFileSummary();
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 9e7a2364b1809ad88824182daecee4161d5aa643..a35ed4add8c7468df69cfd8e9312003edbd8a62d 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -705,7 +705,9 @@ function checkTrashStatus() {
 function onClickBreadcrumb(e){
 	var $el = $(e.target).closest('.crumb'),
 		$targetDir = $el.data('dir');
-	if ($targetDir !== undefined){
+		isPublic = !!$('#isPublic').val();
+
+	if ($targetDir !== undefined && !isPublic){
 		e.preventDefault();
 		FileList.changeDirectory(decodeURIComponent($targetDir));
 	}